我有一个匿名类型,它是 new {string a, string b} 的匿名对象
var myObject = select new {
a = "a",
b = "b"
}
我想在不输入任何信息的情况下初始化该对象。
例如。
Anonymouse{string, string} myObject = new Anonymous;
我被困在这个问题上,希望得到一些帮助。
匿名类型包含只读 属性。因此,如果您希望您的对象包含属性,则需要在创建它们时初始化您的属性,因为它们不能被修改。
如前所述here :
Anonymous types contain one or more public read-only properties.
将匿名类型视为一种节省定义整个类的类型(语法糖)的方法。如果您创建一个匿名类型而没有将任何信息放入其中,如下所示:
var myObject = new {}
编译器在后台创建以下类型:
class __Anonymous
{
public Anonymous() {}
public override bool Equals(object o) { … }
public override int GetHashCode() { … }
}
但是,您不能稍后添加属性,这就是为什么您需要在创建匿名类型时初始化属性。
我是一名优秀的程序员,十分优秀!