c# - 使用反射检测属性上的访问修饰符类型

标签 c# reflection properties access-modifiers

我已经编写了一些代码来使用反射查看属性。我已经使用反射从类中检索了一个属性列表。

但是我需要查明该属性是公共(public)的还是 protected 。例如:

public string Name{get;set;}
protected  int Age{get;set;}

PropertyInfo 类似乎没有公开有关该属性的信息。还有其他方法吗?

最佳答案

由于属性只是一对 get/set 方法的语法糖,因此不存在属性反射方面的“可访问性”这样的东西。相反,您必须分别找出 getset 方法的可访问性级别。为此,使用 GetGetMethod 检索适当的 MethodInfo 对象和 GetSetMethod方法,并且有各种IsPrivateIsPublic等方法和属性。

关于c# - 使用反射检测属性上的访问修饰符类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2426134/

相关文章:

c# - 在 C# 和 ASP.NET MVC 中将音频直接从 url 流式传输到 Web 浏览器?

c# - LINQ to SQL Basic 插入引发 : Attach or Add not new entity related exception

C#如何判断一个对象是否为多维数组

vb.net - VB扩展属性,而不是扩展方法

c# - Flickr 'Invalid auth token (98)' 从 Asp.net 应用程序上传视频

c# - 获取具有特定文件扩展名的路径的子目录

java - 有没有办法阻止类(class)被反射(reflection)?

c# - 我如何获得完成在其属性值中建立的要求的所有类属性?

Node.js:比较可能不存在的嵌套对象属性

objective-c - 保留属性指向错误的地址