Metro 样式应用中的自定义类属性

本文关键字:自定义 属性 样式 应用 Metro | 更新日期: 2023-09-27 18:32:32

我正在尝试在Metro Style App便携式库中定义和检索类的自定义属性。

类似的东西

[AttributeUsage(AttributeTargets.Class)]
public class FooAttribute : Attribute
{
}
[Foo]
public class Bar
{
}

class Program
{
    static void Main(string[] args)
    {
        var attrs = CustomAttributeExtensions.GetCustomAttribute<FooAttribute>(typeof(Bar));
    }
}

这在普通的 4.5 中有效,但在针对地铁风格的便携式库中,它告诉我

Cannot convert type 'System.Type' to 'System.Reflection.MemberInfo'

谢谢

Metro 样式应用中的自定义类属性

或者,也利用扩展,因为它们的意思是:

var attr = typeof(Bar).GetTypeInfo().GetCustomAttribute<FooAttribute>();

根据OP:

你需要做 var attrs = CustomAttributeExtensions.GetCustomAttribute(typeof(Bar).GetTypeIn fo());

这似乎与文档一致