我有一个具有子类的基类(我想应该是一个结构,但不确定是否合适)和一个方法。
class Base
{
protected class SubClass
{
public string word;
public int number;
}
protected void SomeMethod()
{
this.SubClass.word //this is where I'm struggling
}
}
然后,我有几个实现我的baseClass的子类,实例化Base.SubClass并将一些值添加到实例化的类。
class ChildClass1 : Base
{
public childSubClass = new SubClass();
public void DoSomethingRidiculous()
{
childSubClass.word = "WhoFarted";
}
}
class ChildClass2 : Base
{
public childSubClass = new SubClass();
public void DoSomethingRidiculous()
{
childSubClass.word = "ItStinks";
}
}
如果可能的话,我希望能够从Base类中获取SubClass.word的值。我认为我尝试实现我的想法可能是错误的。
最佳答案
我不确定您是否真的需要子类化/类嵌套。只需移出类SubClass
声明,然后声明SubClass
类型的受保护字段/属性即可。
public class SubClass
{
public string word;
public int number;
}
public class Base
{
protected SubClass subClassInstance = new SubClass();
protected void SomeMethod()
{
this.subClassInstance.word //this is where I'm struggling
}
}
然后,您可以在
subClassInstance
和ChildClass1
内访问ChildClass2
关于c# - 访问基类中的子类…但有所不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7692054/