C#库便于动态反射

问题描述 投票:6回答:7

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

谢谢

c# reflection
7个回答
4
投票

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


2
投票

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

具体来说,你可以做“复杂的事情”,就像创建未初始化的对象一样:

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

1
投票

那里有一些有趣的ReflectionHelpers


1
投票

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


1
投票

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


0
投票

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


0
投票

Fastflect是一个相当不错的库,我使用它提供了更简单的方法来调用和访问成员,以及超级简单的委托生成几乎任何你可能需要的,如果你缓存委托,会显着提高性能。它的记录非常好,这真的很有帮助。这是我在编写自己的一组强类型泛型委托生成方法之前使用的。

© www.soinside.com 2019 - 2024. All rights reserved.