我正在使用一个库,它在内部使用Activator.CreateInstance来实例化某种类型的对象。该函数的参数是System.Type,所以我想尝试这样的事情:
SomeFunction(new { SomeStringProperty = "" }.GetType());
看起来这个特定的匿名类型有一个构造函数,它接受一个字符串 - 立即分配属性。我有办法解决这个问题,但现在我很好奇 - 有没有办法让匿名类型有一个无参数的构造函数,以便它可以在调用CreateInstance的情况下使用?
答案 0 :(得分:4)
没有。您不能影响生成的匿名类型的构造函数。它们甚至不是你应该依赖的东西,通过反射或其他任何东西,因为匿名类型的规范中没有指定的是实现细节。
这正是为了防止人们将它们用于不适合的事物,而应该使用适当的课程。