当我这样做时,输出始终为0,我知道这是预期的行为。但我真的很想知道有没有办法在派生类上访问更改后的值?喜欢反思或像这样......
public class BaseClass
{
protected int a=0;
public void ChangeA()
{
a=5;
}
}
public class SubClass : BaseClass
{
public void PrintValue()
{
Console.Write(a);
}
}
谢谢...
编辑:我注意到我必须提供有关此问题的更多详细信息。
public class MainClass
{
public static void Program()
{
BaseClass baseC = new BaseClass();
baseC.ChangeA();
SubClass sub = new SubClass();
sub.PrintValue();
}
}
在这里,print始终为0.我知道我可以这样做,但我不想这样做,因为我的基类的ChangeA()方法总是在不同的地方运行(其他子类);
public class MainClass
{
public static void Program()
{
SubClass sub = new SubClass();
sub.ChangeA();
sub.PrintValue();
}
}
或
public void PrintValue()
{
base.ChangeA();
Console.Write();
}