关于“跨语言调用”和“CLS(公共语言规范)”
- 作者:zhaozj
- 发表时间:2020-12-23 10:55
- 来源:未知
.net的一个很重要的特性就是跨语言的编程,用C#写的dll可以在VB.net里调用,例如:用C#写的一个类,编译到dll中,然后在VB.net中调用:
using System; namespace CLSsample { public class CLSTest { public CLSTest() { } public void ABC() { Console.WriteLine("ABC"); } }}
在VB.net中调用:Dim c As CLSsample.CLSTest = New CLSsample.CLSTestc.ABC()
现在给dll中的CLSTest类加一个函数:public void abc(){ Console.WriteLine("abc");}先编译C#写的这个dll,再编译VB.net工程,编译出现问题,提示信息如下:
重载决策失败,原因是没有可访问的“ABC”最适合这些参数: 'Public Sub abc()': 不是最适合。 'Public Sub ABC()': 不是最适合。