Tag: automatic properties

自动属性和结构不要混合?

在回答这个post的时候 ,围绕着一些小的结构,我偶然发现了以下情况: 以下结构使用int字段是完全合法的: struct MyStruct { public MyStruct ( int size ) { this.Size = size; // <– Legal assignment. } public int Size; } 但是,使用自动属性的以下结构不能编译: struct MyStruct { public MyStruct ( int size ) { this.Size = size; // <– Compile-Time Error! } public int Size{get; set;} } 返回的错误是“这个对象不能在所有的字段被赋值之前使用”。 我知道这是一个结构的标准过程:任何属性的后台字段必须从结构的构造函数中直接分配(而不是通过属性的set访问器)。 解决scheme是使用明确的后台字段: struct MyStruct { […]