是否有方法检索有关.NET API的元数据?
例如,假设我想获得为System.Windows.Documents.List
定义的所有属性的列表。如果能以一些结构化格式(如XML、JSON等)获得这些信息,那就太好了。每个条目都应该看起来像:
<property name="MarkerStyle" type="TextMarkerStyle" get="true" set="true"/>
我想避免屏幕抓取MSDN库。:-)
您可以在运行时使用反射来检索有关现有类的元数据。GetProperties方法是您可以从中开始的。
您可以使用反射并编写一些代码来格式化为XML、JSON等。
或者您可以使用类似Reflector 的工具
感谢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);
});
}
}
}