What is a CustomModifier?



我正在尝试c#源代码生成,我在几个地方看到了Microsoft.CodeAnalysis.CustomModifier的引用。例如,Microsoft.CodeAnalysis.IMethodSymbol的属性为RefCustomModifiers。官方文档并不是特别有用,在网上搜索也没有找到任何有用的东西。

什么c#特性(如果有的话)是由CustomModifier表示的?

我将亲自回答这个问题,以便于搜索相同信息的人更容易一些。

正如@HansPassant所指出的,自定义修饰符是由CLI规范解决的。

II.7.1.1 modreq and modopt
自定义修饰符,使用modreq定义("必选修饰语")和modopt("可选修饰语")是类似的自定义属性(§II.21),除非修饰符是a的一部分签字而不是附在声明上的。每一个汉语将类型引用与签名中的项关联。

(剪)

例如,C编程语言中的const限定符可以是使用可选修饰符建模,因为方法的调用者具有const限定形参,不需要以任何特殊方式对待它。另一方面,在c++中需要复制构造的形参应标记为必需的自定义属性,因为它是拷贝者

最新更新