2012-01-28 149 views
2

是否有方法可以检索有关.NET API的元数据?以编程方式访问.NET API

例如,假设我想获得为System.Windows.Documents.List定义的所有properties的列表。它会是很好得到一些结构化的格式信息,如XML,JSON等每个条目应该是这个样子:

<property name="MarkerStyle" type="TextMarkerStyle" get="true" set="true"/> 

我想,以避免到屏幕刮MSDN库。 :-)

回答

5

您可以使用Reflection在运行时检索有关现有类的元数据。 GetProperties方法是您可以从头开始的。

+0

感谢达林!我已经发布了一个小代码示例作为答案之一。 – dharmatech 2012-01-28 09:49:53

1

您可以使用Reflection,并写一些代码做格式转换成XML,JSON等

或者你可以使用像Reflector

1

由于达林和罗伯特的指针指向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); 
       }); 
     } 
    } 
}