匿名类型可以没有参数构造函数吗?

时间:2014-09-30 22:47:23

标签: c# reflection anonymous-types

我正在使用一个库,它在内部使用Activator.CreateInstance来实例化某种类型的对象。该函数的参数是System.Type,所以我想尝试这样的事情:

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

看起来这个特定的匿名类型有一个构造函数,它接受一个字符串 - 立即分配属性。我有办法解决这个问题,但现在我很好奇 - 有没有办法让匿名类型有一个无参数的构造函数,以便它可以在调用CreateInstance的情况下使用?

1 个答案:

答案 0 :(得分:4)

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

这正是为了防止人们将它们用于不适合的事物,而应该使用适当的课程。