我创建了一个使用System.Reflection
命名空间的项目。好吧,当我尝试使用方法GetInterfaces
时,我发现它在Windows应用商店中不存在。
我尝试创建扩展方法,并尝试使用其余方法创建类似的GetInterfaces
,但我没有。
是否有办法在商店应用中使用GetInterfaces
?
答案 0 :(得分:9)
首先,我必须说这个问题非常简单,你必须知道在哪里搜索。
首先,您必须转到.NET for Windows Store MSDN docs。
关于.NET Store for Windows Store的反思。反思被重写并被移至TypeInfo
课程。您感兴趣的API位于TypeInfo.ImplementedInterfaces
property。
要从指定的类中获取TypeInfo
,您必须使用GetTypeInfo()
方法,因为您必须包含名称空间System.Reflection
。
代码示例
using System.Reflection;
...
var interfaces = typeof(string).GetTypeInfo().ImplementedInterfaces;
...
而且,就是这样。您可以在此处阅读有关WinRT中反射的更多信息:MSDN, System.Reflection
namespace。
答案 1 :(得分:1)
有些人可能会觉得这更简单:
使用Type.GetInterface(string name, bool ignoreCase)
代替Type.GetInterface(string name)
。
默认情况下GetInterface(string name)
没有ignoreCase,所以传入false以保持功能相同。