我创建了一个类,我继承了类
public class abc : Manager, Inteface
{
public abc() { string a = context; }
}
当我首先继承类和接口时,我才能获得Manager类的上下文。
当我首先继承接口然后继承管理器类,然后我无法访问管理器类的上下文。
public class abc : Inteface,Manager
{
public abc() { string a = context; } // I m not able to access the context of Manager class.
}
答案 0 :(得分:4)
这只是无效的C#,编译器应该告诉你它 - 你派生的类应该首先出现在列表中。
作为编译器错误消息的一个例子,你应该得到:
public interface IFoo {}
public class Base {}
public class Derived : IFoo, Base {}
输出:
Test.cs(5,30):错误CS1722:基类'Base'必须在任何接口之前
从C#5规范,第10.1.4节:
类声明可以包括一个基类规范,它定义了类的直接基类和由类直接实现的接口(第13节)。
类基:
:
类型
:
interface-type-list
:
class-type,
interface-type-list接口类型列表:
:
interface-type
:
interface-type-list,
interface-type
答案 1 :(得分:0)
C#提供单继承,因此您只能继承一个类,并且在语法上C#认为在"之后继承的第一个类:"结肠。
任何第二个都将被视为接口。