如何在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 应用商店应用的 .NET 中的工作方式略有不同。您可能必须通过如下所示System.Reflection.TypeInfo
访问它:
MyAttribute a = typeof(T).GetTypeInfo().GetCustomAttribute<MyAttribute>()
本文介绍了反射 API 中的一些差异以及它们存在的原因。
简而言之,作者希望扩展反射的场景,他们确定的设计具有一种"轻量级"类型类和"重量级"TypeInfo类。但是,为了向后兼容完整框架,类型仍然可以以旧的重量级方式使用。在 Windows 应用商店的 .NET 上,他们有机会制作一个一致的 API,所以他们做到了。因此,适用于 Windows 应用商店的 .NET 的反射代码适用于完整的 .NET 框架,但反之则不然。