public class Base<T>
{
T _data;
public partial struct Data
{
public T _data;
}
}
public class Custom : Base<int>
{
public partial struct Data
{
public float _bla;
public bool _bla2;
}
public void BlaBla()
{
Data data = new Data();
//int data = data._data; <= NOT FOUND
float bla = data._bla;
bool bla2 = data._bla2;
}
}
如上所述,Data类在父类和子类中定义了两次。
此外,Custom会根据需要定义额外的成员变量。
但是,无法访问 Base 中的 Data._data。
... 为什么会这样?
最佳答案
部分类只是 msil 中的语法糖,没有部分类。在本例中,您创建了 2 个不同的类。您没有类型 Data
,你有类型 Custom.Data
和 Base<T>.Data
.
Console.WriteLine(typeof(Custom.Data));
Console.WriteLine(typeof(Base<string>.Data));
关于c# - 部分嵌套结构不会被继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41629496/