【问题标题】:Can anonymous types have no-argument constructors?匿名类型可以有无参数构造函数吗?
【发布时间】:2014-09-30 22:47:23
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# reflection anonymous-types


    【解决方案1】:

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

    这正是为了防止人们将它们用于他们不打算用于的事情,应该使用适当的类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      相关资源
      最近更新 更多