如何在Windows Phone上读取类属性

本文关键字:读取 属性 Phone Windows | 更新日期: 2023-09-27 18:34:06

如何在Windows Phone中读取类的属性?

public static void DoSth<T>(T sth)
    where T : SomeClass
{
    MyAttribute a = // Get "MyAttribute" from sth
}

如何在Windows Phone上读取类属性

反射在适用于 Windows 应用商店应用的 .NET 中的工作方式略有不同。您可能必须通过如下所示System.Reflection.TypeInfo访问它:

MyAttribute a = typeof(T).GetTypeInfo().GetCustomAttribute<MyAttribute>()

本文介绍了反射 API 中的一些差异以及它们存在的原因。

简而言之,作者希望扩展反射的场景,他们确定的设计具有一种"轻量级"类型类和"重量级"TypeInfo类。但是,为了向后兼容完整框架,类型仍然可以以旧的重量级方式使用。在 Windows 应用商店的 .NET 上,他们有机会制作一个一致的 API,所以他们做到了。因此,适用于 Windows 应用商店的 .NET 的反射代码适用于完整的 .NET 框架,但反之则不然。