【UWP】开发小技巧――判断类是否存在
2022/1/24 23:04:55
本文主要是介绍【UWP】开发小技巧――判断类是否存在,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
不要问我这个需求是怎么冒出来的,自己没事找事要支持10240,结果发现啥都不支持,真是太糟糕了。
一般而言,这类需求都是想办法通过类名新建对象,一开始我也是这么想的,不过网上那些教程都是单纯.NET的,不支持UWP(也可能是我太菜了,不会用),所以直接白嫖是不可能了。。。
不过判断是否存在不需要这么复杂,CS有专门的GetType方法来找类,所以事情就简单了,直接Type.GetType(“类名”)就行了,不过真的是这样吗?
经过调试,并没有成功找到这个类型,不过不止Type有GetType,在CS中Assembly也有GetType,我直接找到要找的类的程序集再找类应该就能找到了吧。
很明显,这个方案才是对的。现在知道了方法,就搓个函数出来吧。
public static bool IsTypePresent(string AssemblyName, string TypeName) { try { Assembly asmb = Assembly.Load(new AssemblyName(AssemblyName)); Type supType = asmb.GetType($"{AssemblyName}.{TypeName}"); return supType != null; } catch { return false; } }
额,好像不太对,10240不支持和类在不在程序集里好像没关系吧。。。
我们似乎还是要新建一个对象来判断它到底是不是支持,于是函数就变成这样了。。。
public static bool IsTypePresent(string AssemblyName, string TypeName) { try { Assembly asmb = Assembly.Load(new AssemblyName(AssemblyName)); Type supType = asmb.GetType($"{AssemblyName}.{TypeName}"); if (supType != null) { try { Activator.CreateInstance(supType); } catch (MissingMethodException) { } } return supType != null; } catch { return false; } }
终于正常了。。。
判断API是否存在就不要用这个方法了,官方有ApiInformation,肯定比这个好用
这篇关于【UWP】开发小技巧――判断类是否存在的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12百万架构师第十五课:源码分析:Spring 源码分析:SpringMVC核心原理及源码分析|JavaGuide
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide