Vb.net 为什么我的功能不符合CLS?
我收到以下警告信息 函数“ConnectionNew”的返回类型不符合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
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…
(很抱歉死灵巫术)