GetProperty方法返回null C#.Net

时间:2015-10-22 00:16:29

标签: c# .net access-modifiers

有人可以解释一下,为什么System.Type中的GetProperty方法对于声明为' internal'的属性返回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

我理解内部或公共修饰符之间的差异。

1 个答案:

答案 0 :(得分:2)

默认情况下,GetProperty方法仅返回公共属性。 你应该包括以下标志

BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static 

获取内部类型

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