我有一些针对一个应用程序的唠叨编译器警告,我从VB6移植了一段时间,关于CLS-Compliance,包括:
Name '_AnIdentifier' is not CLS-Compliant. Type of parameter 'myType' is not CLS-Compliant.
尽管如此,我的应用程序似乎从COM和托管客户端执行得很好.我已经看过几篇文章描述了如何使代码符合CLS-Compliant,我可能会继续执行它以摆脱唠叨的警告,但我很好奇非CLS兼容代码的缺点是什么在实际中条款?我还没有发现这种影响的局限性是什么?
基本上,当与某些.NET语言一起使用时,您的类可能无法访问(或可能行为奇怪,例如大的正数被视为负数).我不能说他们可能是什么语言.
例如,我不认为需要一种语言来识别以下划线开头的标识符.C#允许它,所以你在那里安全,但对于其他语言,"_ AnIdentifier"可能被隐藏,或者具有系统生成的名称.