匿名类型





0/5 (0投票)
现在可以动态地创建类定义了。 这就是匿名类型的概念,其类型基于类的签名。
现在可以动态地创建类定义了。 这就是匿名类型的概念,其类型基于类的签名。 要创建一个匿名类型,请使用以下代码:
new { First = "B", Second="C" };
使用这种新的类型,我们现在拥有一个具有名为 First 的字符串属性和名为 Second 的字符串属性的新类。 但是,由于我们需要将该类存储在某个地方,因此不会发生任何事情。 这就是“var”关键字发挥作用的地方。
var stringValue = "X";
var instance = new { First = "B", Second = stringValue };
Instance 现在代表我们的匿名类型。 编译器将解析上述语法,并创建一个标准的 CLR 类型,该类型具有两个属性 First 和 Second,并根据初始化值分配这些属性的类型。 在这里,由于它们被初始化为字符串,因此两个属性都将具有字符串类型。
在 Visual Studio 2008 中,对此有完整的 IntelliSense 支持。 在创建匿名类型时,请确保为属性提供一个值,或者可以从变量推断类型;否则,如果提供 null 值,则会发生编译错误。