使用Type类访问XML文档

时间:2011-10-18 08:35:31

标签: c# reflection

有没有办法可以从类型类访问Xml文档,例如:

/// <summary>
/// Blah blah blah
/// </summary>
public class Foo{}

Debug.Print(typeOf(Foo).XmlSummary);

会导致Blah blah blah

1 个答案:

答案 0 :(得分:0)

不,VS和其他工具会解析xml注释以生成文档,但是,与常规注释一样,生成的程序集中不包含这些注释,因此类型的元数据不了解它们。

如果您需要为您的课程执行此操作,则可以使用自定义属性:

using System;

class SummaryAttribute : Attribute {
    public string Value {
        get;
        private set;
    }
    public SummaryAttribute(string value) {
        Value = value;    
    }
}

[Summary("Blah")]
class Foo { 
}

class Program {
    static void Main(string[] args) {
        var summaryAttributes = typeof(Foo).GetCustomAttributes(typeof(SummaryAttribute), false);
        if (summaryAttributes.Length != 0) {
            SummaryAttribute summary = (SummaryAttribute)summaryAttributes[0];
            Console.WriteLine(summary.Value);
        }
    }
}