Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 为什么我的功能不符合CLS?_Vb.net_Warnings_Cls Compliant - Fatal编程技术网

Vb.net 为什么我的功能不符合CLS?

Vb.net 为什么我的功能不符合CLS?,vb.net,warnings,cls-compliant,Vb.net,Warnings,Cls Compliant,我收到以下警告信息 函数“ConnectionNew”的返回类型不符合CLS …对于此功能: Public Function ConnectionNew(ByVal DataBaseName As String) As MySqlConnection Dim connection As MySqlConnection = Nothing connection = getConnection(DataBaseName()) Return connection E

我收到以下警告信息

函数“ConnectionNew”的返回类型不符合CLS

…对于此功能:

Public Function ConnectionNew(ByVal DataBaseName As String) As MySqlConnection
      Dim connection As MySqlConnection = Nothing
      connection = getConnection(DataBaseName())
      Return connection
End Function

此消息是什么意思?我如何修复它?

这是因为您返回的对象类型不符合CLS。对此你无能为力,因为你没有写类型。只需承认您知道它不符合要求,否则不太可能导致任何问题。除非您在另一种不支持所有.NET类型的语言中使用该函数。修正:

<CLSCompliant(False)> _
Public Function ConnectionNew(ByVal DataBaseName As String) As MySqlConnection
   '' etc...
End Function
_
公共函数ConnectionNew(ByVal DataBaseName作为字符串)作为MySqlConnection
”“等等。。。
端函数

什么是MySqlConnection?它的定义是什么?错误表明这就是问题所在。
MySqlConnection
MySql.Data.MySqlClient
的成员。我不能用那个吗?当然可以。但它不是符合CLS的程序集。因此,你唯一能做的就是按照@Hans.的答案来做。这是故意的下划线,还是打字错误?没关系,我在StructLayout的“装饰”中看到它也添加了空格和下划线,所以现在我很明显它没有打字错误。下划线表示VB中的一行延续,就好像您编写了
公共函数ConnectionNew…
(很抱歉死灵巫术)