我有一个vb.net解决方案,我想在那里添加一个用c#编写的新dll文件,并在vb.net编写的代码中使用dll中的功能.
我对它进行了多次使用,似乎工作正常,但用c#搞乱vb.net代码就像我想做的那样聪明.
我正在做什么有什么危险?
非常感谢你的帮助.
将您的代码标记为符合CLS,然后C#编译器会在您从另一种.Net语言调用DLL时执行任何可能导致问题的操作时发出警告.
来自MSDN的一些引用
要与其他对象完全交互而不管其实现的语言如何,对象必须仅向调用者公开那些必须与之互操作的所有语言共有的功能.出于这个原因, 已经定义了公共语言规范(CLS),它是许多应用程序所需的一组基本语言特性.
您可以使用CLSCompliantAttribute将程序集,模块,类型和成员标记为符合CLS .
某些符合CLS的语言编译器( 如C#编译器)使您能够指定您希望代码符合CLS.这些编译器可以检查CLS合规性,并在您的代码使用CLS不支持的功能时通知您.
此外,您的组织现在需要C#技能以及Vb.Net技能.您应该说服自己这样做,然后说服关键决策者.