我正在开发的当前类库将有一个基类(Field),其中包含超过 50 个特定的“字段”类型,这些类型将从“Field”继承并嵌套以保持可读性。例如...
abstract class Field
{
public int Length { get; set; }
public class FieldA : Field
{
public static void DoSomething()
{
Console.WriteLine("Did something.");
}
}
}
到目前为止,一切看起来都很好,我可以使用如下所示的代码:
class Program
{
static void Main(string[] args)
{
Field.FieldA.DoSomething();
}
}
然而,为什么这也有效呢?这里发生了什么让编译器/IDE 智能感知继续链接这些“FieldA”?
class Program
{
static void Main(string[] args)
{
Field.FieldA.FieldA.FieldA.FieldA.FieldA.FieldA.FieldA.DoSomething();
}
}
无论如何,这并不是应用程序的破坏,但我认为它很奇怪。在 Boo 中做同样的事情(这是库所使用的实际语言)。
听起来你想要类似的东西:
abstract class Field
{
public int Length { get; set; }
}
public class FieldA : Field
{
public static void DoSomething()
{
Console.WriteLine("Did something.");
}
}
否则,您将定义一个带有内部类的基类,继承者也将获得该内部类。因此,当您从外部类继承来创建内部类时,您就开始了一个循环。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)