使用反射获取方法描述

时间:2009-10-29 12:39:27

标签: c# .net reflection

是否可以使用反射获取方法或属性的注释描述。例如,当您在Visual Studio中使用intellisense滚动可用于对象的方法时,会有一个标签描述该方法的作用。如何使用反射以编程方式访问此数据? 你的想法非常感激。 贝

3 个答案:

答案 0 :(得分:4)

没有。方法描述在源代码中从XML注释中提取的XML文件(与声明程序集同名)中定义。 Visual Studio使用该XML文件来加载这些东西。信息在程序集元数据中没有任何地方,当然,使用反射不可用:

/// <summary> Method description </summary>
public void Something() { ... }

当使用/doc开关调用C#编译器时,它会提取XML标记并将其放入XML文件中。 Visual Studio会检查引用的程序集中是否有XML文件,并根据需要显示说明。

答案 1 :(得分:2)

Intellisense会向您显示其他评论数据(从您的///评论生成,通常存储在您的dll / exe旁边的xml文件中),可用于反射,因此没有。你必须手动加载它。您可以访问[Description]属性,但这不一样。

答案 2 :(得分:0)

如果打开要获取文档的项目的属性,请选择构建选项卡。

最后一个属性ypu可以设置i Xml文档文件,在这里你可以指定存储文档的文件。

该文件只是xml,因此解析应该是一件小事。