【发布时间】:2017-06-03 17:00:46
【问题描述】:
假设我的代码如下所示:
public struct Foo
{
public object obj;
public Foo(int val)
{
obj = new {
bar = val
};
Console.WriteLine(obj.bar); // Can't access bar.
}
}
通常我看到匿名类型存储在隐式类型变量中,在这种情况下可以很好地访问它们的字段。但在这种情况下,我不能使用 var 隐式键入,因为 obj 是结构中的一个字段,显然无法初始化。那么如何访问bar这个字段呢?
【问题讨论】:
-
结构什么时候得到了默认构造函数?哈哈
-
什么意思?你是说它不应该在不给结构明确定义的无参数构造函数的情况下编译吗?因为它确实没有一个编译。
标签: c# object struct var anonymous-types