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