인터페이스 정의는 내 인터페이스의 BaseType이 null 인 이유는 무엇입니까?
public interface IPayeePayrollRunInitialPayElementData : IPayeePayrollRunPayElementData
하지만 내 코드에 내 인터페이스의 baseType 여기서은 null입니다. 나는 이것의 어떤 감각도 만들 수 없다!
인터페이스 정의는 내 인터페이스의 BaseType이 null 인 이유는 무엇입니까?
public interface IPayeePayrollRunInitialPayElementData : IPayeePayrollRunPayElementData
하지만 내 코드에 내 인터페이스의 baseType 여기서은 null입니다. 나는 이것의 어떤 감각도 만들 수 없다!
그렇기 때문에 defined일까요?
인터페이스는 0 개 이상의 기본 인터페이스를 상속받습니다. 따라서 유형 개체가 인터페이스를 나타내는 경우이 속성은 null을 반환합니다. 기본 인터페이스는 GetInterfaces 또는 FindInterfaces으로 결정할 수 있습니다.
물론 인터페이스가 여러 다른 인터페이스에서 생겨나 기 때문에 완벽하게 이해할 수 있습니다. 감사 –
인터페이스 객체로부터 유도되지 않는다.
기술적으로는 사실이지만이 질문에는 실제로 대답하지 않습니다. 이 질문은'BaseType'이'object'가 아닌 이유를 묻지 않습니다. 왜'BaseType'이 효과적으로 파생 된 인터페이스가 아닌지 묻습니다. – hvd
Type.BaseType
페이지;
인터페이스는 0 개 이상의 기본 인터페이스를 상속받습니다. 따라서이 속성은 Type 개체가 인터페이스을 나타내는 경우 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
입니다.
http://stackoverflow.com/questions/538541/how-to-get-interface-basetype-via-reflection –
동일한 링크를 게시하려고합니다. ^^ –
인터페이스 ** 구현 ** 및 기본 클래스 ** 상속 **은 다른 두 가지입니다. 'is'와 비슷한 타입 캐스트 연산은 상속과 구현을 검사 할 것이지만, 타입 시스템은 존재하는 진정한 복잡성을 반영합니다. –