如何使用反射在WinRT中获取类的静态属性

时间:2014-10-31 01:01:52

标签: c# windows-runtime winrt-xaml

我可以在c#.net中获得非静态属性没问题(How to get properties of a class in WinRT)或静态属性,但无法弄清楚如何在C3 winrt中获取静态属性。

据我所知。有人可以帮忙吗?

            Type type = typeof(ToastNotificationManager);
            var typeInfo = type.GetTypeInfo();
            var historyProperty = type.GetRuntimeProperty("History");
            object history = historyProperty.get
            property.SetValue(obj, value);

我正在尝试反思并调用仅在手机上支持的ToastNotificationManager.History.Remove()ToastNotificationManager.History

1 个答案:

答案 0 :(得分:1)

这很好用:

PropertyInfo propertyInfo =
    typeof(ToastNotificationManager).GetRuntimeProperty("History");

propertyInfo.SetValue(null, value);

当然,假设ToastNotificationManager类型具有名为History的属性。 :)

请注意,访问静态属性时,只需将null作为对象引用传递。由于没有与静态成员连接的实例,显然您不需要将引用传递给一个。