我有一个基类,它有一个子类(我认为可能是一个结构,但不确定它是否合适)和一个方法。
class Base
{
protected class SubClass
{
public string word;
public int number;
}
protected void SomeMethod()
{
this.SubClass.word //this is where I'm struggling
}
}
然后我有几个子类来实现我的基类,实例化 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";
}
}
如果可能的话,我希望能够从基类中获取 SubClass.word 的值。我认为我实现自己想法的尝试可能是错误的。
最佳答案
我不确定您是否真的需要子类化/类嵌套。只需移出类 SubClass
声明并声明 SubClass
类型的 protected 字段/属性即可。
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
}
}
然后您就可以在 ChildClass1
和 ChildClass2
中访问 subClassInstance
关于c# - 访问基类中的子类...但不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7692054/