我正在研究的当前类库将有一个基类(字段),其中包含 50 多种特定的“字段”类型,这些类型将从“字段”继承并嵌套以保持可读性。例如...
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 中做同样的事情(这是用于库的实际语言)。