65.9K
CodeProject 正在变化。 阅读更多。
Home

匿名类型

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013 年 10 月 11 日

CPOL

1分钟阅读

viewsIcon

6871

现在可以动态地创建类定义了。 这就是匿名类型的概念,其类型基于类的签名。

现在可以动态地创建类定义了。 这就是匿名类型的概念,其类型基于类的签名。 要创建一个匿名类型,请使用以下代码:

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 值,则会发生编译错误。

© . All rights reserved.