它们与C#有何不同?
因为CIL名称在C#中是非法的,是否有任何标准的方法可以为CIL中的方法编写名称而不与任何C#方法冲突?
这样的名称可能会导致其他.net语言(例如F#或Visual Basic)出现问题吗?
C#中的命名规则示例为:Method2
是C#中方法的合法名称,但是2Method
是非法的方法名称,因为名称不能以数字开头,但可以包含数字数字。 CIL有哪些命名规则?
我正在写一个仅由Il使用的自动生成的方法,并且我想确保它与任何C#名称不冲突。
答案 0 :(得分:3)
要编写可与任何.NET语言互操作的代码,请遵循公共语言规范的准则,并确保您公开可见的类型是“符合CLS要求”:
与其他以任何语言编写的对象完全互动 必须仅向呼叫者公开所有用户共有的功能 语言。此通用功能集由通用定义 语言规范(CLS),这是一组适用于 生成的程序集。通用语言规范在 ECMA-335 Standard: Common Language Infrastructure的第I部分,第7至11条。
答案 1 :(得分:3)
我怀疑您实际上是指符合CLS。 here和命名规则一起详细说明。最重要的事情似乎是要确保两个标识符的区别不只是大小写。