Moh*_*eem 7 .net c# inheritance
public interface ITest
{
int ChildCount { get; set; }
}
public class Test
{
}
public class OrderPool : ITest, Test
{
public int ChildCount
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
错误说Base类'Test'必须在任何接口之前.为什么有必要先扩展类然后实现接口?
C#仅支持单继承,但允许类实现多个接口.在这种情况下,总是按照约定在同一个地方指定基类,而不是与一堆接口混合在一起更清楚.
无论如何,规范要求无论如何都是这种情况,这就是你看到错误的原因.
请记住,规范中没有任何内容表明所有接口都必须以大写"I"命名. - 那只是惯例.因此,如果您的类实现了不遵循该约定的接口,并且如果规范允许您以任何顺序指定基类和接口,那么您将无法轻易分辨哪个标识符是基类,哪个是接口.例:
class MyDerivedClass : A, B, C, D, E // which is the base class?
{
...
}
Run Code Online (Sandbox Code Playgroud)