我查看了 ILDASM 中的 C# struct FooStruct
,并看到了以下内容:
ILDASM 在这里显示了两个不同的声明:
- 一个以(后窗和前窗的标题栏)开头
.class
value
public
- 一个以
.class public
(前窗)开头
而且我想知道哪种语法(如果不是两者)是声明值类型的正确语法?修饰符是value
绝对必要的、可选的还是语法错误?
我查看了 ILDASM 中的 C# struct FooStruct
,并看到了以下内容:
ILDASM 在这里显示了两个不同的声明:
.class
value
public
.class public
(前窗)开头而且我想知道哪种语法(如果不是两者)是声明值类型的正确语法?修饰符是value
绝对必要的、可选的还是语法错误?
这本好书包含简单的答案:当您提供extends
子句时,value
标志将被忽略,但如果您不提供
extends
和使用,value
则 ilasm 会将给定类型声明为值类型。
换句话说value
,作为语法糖被引入,以快速声明值类型。