C#的dynamic使用中有啥需要注意的地方,以免滥用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#的dynamic使用中有啥需要注意的地方,以免滥用相关的知识,希望对你有一定的参考价值。
参考技术A主要有两点。
dynamic成员在编译时会跳过所有的静态类型检查,这意味着它永远不会被报编译错误,也就是说你得不到编译器的帮助而只能在运行时发现错误。编码时请做好检查或者添加必要的日志。此外,涉及dynamic成员的代码并不会被编译器优化。
我的测试数据表明在.NET 4.5下访问dynamic对象的一个成员时需要的时间大约是访问静态类型的静态成员的12倍,但是它依旧比反射访问一个静态类型的静态成员要快约9倍。如果是为了避免复杂的业务逻辑和避开反射可以考虑一用。
我个人的标准是,优先强类型,多写一个类或接口不算什么事儿。不到万不得已不写dynamic,哪怕它可能节省了很多代码。
本回答被提问者采纳以上是关于C#的dynamic使用中有啥需要注意的地方,以免滥用的主要内容,如果未能解决你的问题,请参考以下文章