为什么我的界面的BaseType为null?

时间:2013-05-17 10:42:22

标签: c# oop inheritance interface

接口定义

public interface IPayeePayrollRunInitialPayElementData : IPayeePayrollRunPayElementData

但在我的代码中,我的接口的BaseType为null。我无法理解这一点!

Breakpoint and watches

3 个答案:

答案 0 :(得分:8)

因为它是defined吗?

  

接口继承自零个或多个基接口;因此,如果 Type 对象表示接口,则此属性返回 null 。可以使用GetInterfacesFindInterfaces确定基本接口。

答案 1 :(得分:2)

来自Type.BaseType页;

  

接口继承自零个或多个基接口;因此,这   如果Type对象表示接口,则property返回null。该   基本接口可以使用GetInterfaces或   FindInterfaces

public interface IPayeePayrollRunInitialPayElementData : IPayeePayrollRunPayElementData
{ }

public interface IPayeePayrollRunPayElementData
{ }

class Program
{
    static void Main(string[] args)
    {
        foreach (Type tinterface in typeof(IPayeePayrollRunInitialPayElementData).GetInterfaces())
        {
            Console.WriteLine(tinterface.FullName);
        }
    }
}

输出将是;

IPayeePayrollRunPayElementData

这是DEMO

答案 2 :(得分:1)

接口不是从对象派生的。