【发布时间】:2022-05-03 05:19:02
【问题描述】:
如:
public class MyClass {
private static var MyProp = new {item1 = "a", item2 = "b"};
}
注意:以上不编译也不工作(var不能在那里使用),这只是为了说明我的观点。
更新:为了澄清问题,我已经尝试过使用
private static dynamic MyProp = new {item1 = "a", item2 = "b"};
这可行,但由于动态类型,它不会生成智能感知。我知道匿名类型只是一个编译器技巧,所以我希望我可以通过声明一个结构化字段来利用这个技巧,而不必事先声明一个类(主要是因为只有这种特殊类型的一个实例场地)。我现在可以看到这是不可能的,但我不确定为什么会这样。如果编译器只是为匿名对象生成隐式类型,那么让编译器为字段生成此隐式类型应该相当简单。
【问题讨论】:
-
MyProp不是属性,而是字段。 -
@Greg :在那里,我为 Diego(和你)修复了它:P
-
@Andrew - 我如释重负,谢谢!
-
@Greg 我的错,谢谢指正