제목에서 알 수 있듯이 리플렉션을 사용하여 클래스 정의가 내부 클래스로 정의되어 있는지 확인하는 방법은 무엇입니까? "typeof (...)"는 아래에 표시된 특정 속성을 반환하지만 클래스가 내부로 정의되었는지 여부는 반환하지 않습니다. Google에서 찾았지만 리플렉션을 사용하여 내부 또는 보호 된 메소드를 실행하는 것에 관한 기사가 많이있었습니다. 이 경우 관심있는 메소드가 아니라 클래스 정의입니다.리플렉션을 사용하여 클래스가 내부 클래스인지 확인하는 방법은 무엇입니까?
var type = typeof(Customer);
Assert.IsTrue(type.IsClass);
Assert.That(type.IsAbstract, Is.EqualTo(isAbstract));
Assert.That(type.IsPublic, Is.EqualTo(isPublic));
Assert.That(type.IsPublic, Is.EqualTo(isPublic));
Assert.That(type.IsSealed, Is.EqualTo(isSealed));
Assert.That(type.IsSerializable, Is.EqualTo(isSerializable));
내가 MSDN 설명서가 정확한지 모르겠지만, 아마도 내가 틀렸다 : 여기 –
또한,'Nested '는'class A {class B {}}'로 읽 힙니다. 여기서'B '는'A' 내에 중첩됩니다. 문서가 명시 적으로 언급 한 속성 인'IsAssembly','IsFamily'는'Type' 객체에서 공개적으로 사용할 수 없습니다. –
하나의 작은 수정 : C#'protected internal'은 CLR'FamorAssem'에 해당합니다 (즉, 동일한 어셈블리 또는 파생 된 유형에있는 모든 것으로 볼 수 있음). 'FamANDAssem'에는 상응하는 C#이 없습니다 (내 꿈 제외). – zinglon