C#库便于动态反射

时间:2009-07-22 13:21:41

标签: c# reflection

是否有任何库(如开源项目等)可以更轻松地使用复杂的反射,如动态创建对象或类,检查实例等?

由于

7 个答案:

答案 0 :(得分:4)

有一个LinFu库可以做很多其他有趣的东西而不是反射...试试吧

答案 1 :(得分:2)

在我看来,我认为反思不会比现在更容易使用。几乎所有核心​​功能都包含在Type类中。只需花时间了解它是如何工作的,你就不需要另外一个不必要的层了。

具体来说,你可以做'复杂的事情'来创建像这样的单元化对象:

// Instantiates an uninitialized object of the specified type.
var newObject = (MyObject)FormatterServices.GetUninitializedObject( elementType );

答案 2 :(得分:1)

那里有一些有趣的ReflectionHelpers

答案 3 :(得分:1)

根据定义,反思很难。它是整个对象结构的间接级别。我不确定如何在不限制其力量的情况下让它变得更容易。

答案 4 :(得分:1)

如果反思很难,那么您可能无法完全理解.Net的基础知识。您可能想尝试像this这样的教程。

答案 5 :(得分:0)

MS单元测试程序集具有PrivateObject和PrivateType,可以非常直接地访问私有实例/类型成员。

答案 6 :(得分:0)

Fastflect是我使用的一个相当不错的库,它提供了用于调用和访问成员的简单得多的方法,并且为您可能需要的几乎任何事物提供了超简单的委托生成,如果您缓存它,可以显着提高性能。代表。它被很好地记录在案,确实有帮助。这是我在编写自己的一组强类型泛型委托生成方法之前使用的方法。