是否可以使用反射获取方法或属性的注释描述。例如,当您在Visual Studio中使用intellisense滚动可用于对象的方法时,会有一个标签描述该方法的作用。如何使用反射以编程方式访问此数据? 你的想法非常感激。 贝
答案 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,因此解析应该是一件小事。