有没有办法检索有关.NET API的元数据?
例如,假设我想获得为System.Windows.Documents.List
定义的所有properties的列表。以XML,JSON等结构化格式获取此信息会很不错。每个条目应如下所示:
<property name="MarkerStyle" type="TextMarkerStyle" get="true" set="true"/>
我想避免屏幕刮掉MSDN库。 : - )
答案 0 :(得分:5)
您可以使用Reflection在运行时检索有关现有类的元数据。 GetProperties方法是你可以开始的。
答案 1 :(得分:1)
您可以使用Reflection并编写一些代码来格式化为XML,JSON等。
或者您可以使用Reflector
之类的工具答案 2 :(得分:1)
感谢Darin和Robert指向System.Reflection
命名空间的指针。
这是一个简短的程序,打印出List
的所有公共属性:
using System;
using System.Reflection;
using System.Windows.Documents;
namespace ReflectionWpfListPropertiesTest
{
class Program
{
static void Main(string[] args)
{
var members = typeof(List).GetMembers();
Array.ForEach(members, info =>
{
if (info.MemberType == MemberTypes.Property)
Console.WriteLine(info);
});
}
}
}