使用Reflection获取类描述

时间:2014-11-24 17:27:19

标签: c# reflection types

我正在尝试将Full Class描述转换为字符串值。我已经指定了枚举类,以获取完整的描述。然而;在任何类对象上调用ToString()只提供摘要。

我想要完整的定义,就像在与它相关的类文件(.cs)中显示的内容一样。

public class Expose : System.Attribute
{
    public bool DoExpose;

    public Expose(bool doExpose)
    {
        DoExpose = doExpose;
    }

    public static void DoStuff()
    {
        Assembly assembly = Assembly.GetAssembly(typeof(Expose));
        var types = GetTypesWithExposeAttribute(assembly);
        // get full class description - like the Car.cs     
        Console.WriteLine(types.First().FullName);
    }

    public static IEnumerable<Type> GetTypesWithExposeAttribute(Assembly assembly)
    {
        foreach (Type type in assembly.GetTypes())
        {
            if (type.IsDefined(typeof(Expose), true))
            {
                yield return type;
            }
        }
    }
}

[Expose(true)]
public class Car
{
    public int CarId { get; set; }
    public string Name { get; set; }
    public int Speed { get; set; }
}

1 个答案:

答案 0 :(得分:0)

假设您询问"xml documentation comments"

评论不是元数据的一部分,无法通过反思进行访问。

如果您需要通过反射提供其他信息,请使用属性。 (即C# documentation comments)。