2014-09-30 143 views
1

我正在使用库在内部使用Activator.CreateInstance来实例化某种类型的对象。该函数的参数是System.Type的,所以我想尝试这样的:匿名类型有没有参数的构造函数?

SomeFunction(new { SomeStringProperty = "" }.GetType()); 

它看起来像这个特殊的匿名类型有一个构造函数的字符串 - 的财产立即分配。我有办法解决这个问题,但现在我很好奇 - 是否有办法让匿名类型具有无参数构造函数,以便可以在CreateInstance被调用的情况下使用它?

回答

4

不可以。您不能影响生成的匿名类型的构造函数。它们甚至不是你应该依赖的东西,通过反射或其他任何东西,因为没有在规范中为匿名类型指定的东西是实现细节。

这恰恰是为了防止人们将它们用于他们不打算用于的地方,而应该使用适当的类别。

相关问题