GetProperty方法返回null

本文关键字:null 返回 方法 GetProperty | 更新日期: 2023-09-27 18:18:48

谁能解释一下,为什么GetProperty方法在System。对于声明为"内部"但适用于"公共"的属性,Type返回null。

internal class Test{      
  public string ALocal { get; set; }
  internal string SLocal { get; set; }}
var test = new Test();
var testType = test.GetType();
var aProp = testType.GetProperty("ALocal"); => returns string Type
var sProp = testType.GetProperty("SLocal"); => returns null

我理解内部修饰符和公共修饰符之间的区别。

GetProperty方法返回null

GetProperty方法默认只返回公共属性。您应该包括以下标志

BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static 

获取内部类型

MSDN:https://msdn.microsoft.com/en-us/library/zy0d4103 (v = vs.110) . aspx