Stack Overflow на русском Asked on January 27, 2021
Как проходит процесс приведение типа в Program( то, что закомментировано-возвращает Null(пытаюсь понять логику))
namespace тренировка2
{
interface Iinterface
{
public void Show();
}
class MyClass : MyClass1, Iinterface
{
private MyClass1 MyClass1;
public MyClass1 Field1
{
get { return MyClass1; }
set { MyClass1 = value; }
}
override public string Field{
get
{
if (field=="base")
return "derived";
else
return field;
}
}
public void Show()
{
Console.WriteLine(field + " " + Field1.Field);
}
public MyClass(string field)
:base(field)
{
}
}
class MyClass1
{
protected string field;
public MyClass1(string field)
{
this.field = field;
}
virtual public string Field
{
set { field = value; }
get { return field; }
}
}
class Program
{
static void Main(string[] args)
{
MyClass my = new MyClass("base");
Console.WriteLine(my.Field);
MyClass1 my1 = new MyClass1("base");
Console.WriteLine(my1.Field);
my.Field1 = new MyClass("base");
//my = (MyClass)my.Field1; //Что здесь происходит?
my.Show();
}
}
}
//my = (MyClass)my.Field1; //Что здесь происходит?
Здесь происходит обращение к полю MyClass.MyClass1
, которое нигде не назначается.
Correct answer by Igor on January 27, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP