C#库便于动态反射
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#库便于动态反射相关的知识,希望对你有一定的参考价值。
是否有任何库(如开源项目等)可以更容易地使用复杂的反射,如动态创建对象或类,检查实例等?
谢谢
答案
有一个LinFu库可以做很多其他有趣的东西而不是反射...试试吧
另一答案
在我看来,我不认为反射可以比现在更容易使用。几乎所有核心功能都包含在Type类中。花点时间了解它是如何工作的,你不需要另外一个不必要的层。
具体来说,你可以做“复杂的事情”,就像创建未初始化的对象一样:
// Instantiates an uninitialized object of the specified type.
var newObject = (MyObject)FormatterServices.GetUninitializedObject( elementType );
另一答案
那里有一些有趣的ReflectionHelpers。
另一答案
根据定义,反思很难。它是整个对象结构的间接级别。我不确定如何在不限制其力量的情况下使其变得更容易。
另一答案
如果反思很难,那么您可能无法完全理解.Net的基础知识。您可能想尝试像this这样的教程。
另一答案
MS单元测试程序集具有PrivateObject和PrivateType,可以非常直接地访问私有实例/类型成员。
另一答案
Fastflect是一个相当不错的库,我使用它提供了更简单的方法来调用和访问成员,以及超级简单的委托生成几乎任何你可能需要的,如果你缓存委托,会显着提高性能。它的记录非常好,这真的很有帮助。这是我在编写自己的一组强类型泛型委托生成方法之前使用的。
以上是关于C#库便于动态反射的主要内容,如果未能解决你的问题,请参考以下文章