class Parent {
public string A { get; set; }
}
class Child : Parent {
public string B { get; set; }
}
속성 A없이 속성 B 만 가져와야하지만
Child.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)
두 속성 모두 반환 : /
답변
다음과 같이 플래그 에 BindingFlags.DeclaredOnly 를 추가해야합니다 .
typeof(Child).GetProperties(System.Reflection.BindingFlags.Public
| System.Reflection.BindingFlags.Instance
| System.Reflection.BindingFlags.DeclaredOnly)
답변
DeclaredOnly 바인딩 플래그를 사용해보십시오. 반환되는 속성을 관심있는 클래스에서 선언 된 속성으로 만 제한해야합니다. 다음은 코드 샘플입니다.
PropertyInfo[] properties = typeof(Child).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly);
답변
더하다 BindingFlags.DeclaredOnly
답변
에서 Type.cs :이 경우 DeclaredOnlyLookup를 사용
private const BindingFlags DefaultLookup = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public;
internal const BindingFlags DeclaredOnlyLookup = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;