2011-08-15 19 views
10

私は次の警告メッセージが出てい...なぜ私の機能はCLSに準拠していないのですか?関数「ConnectionNew」の

戻り値の型は、CLSに準拠していません。

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

このメッセージは何を意味し、そしてどのように私はそれを修正することができます?この機能のための

...

+1

「MySqlConnection」とは何ですか?それはどこに定義されていますか?エラーは、それが問題であることを示します。 – Oded

+0

'MySqlConnection'は、' MySql.Data.MySqlClient'のメンバです。私はそれを使うことを許されていませんか? – Urbycoz

+3

もちろん許可されています。 CLSに準拠したアセンブリではありません。それで、@ハンスからの答えに従うだけです。 – Oded

答えて

21

これは、CLSに準拠しないタイプのオブジェクトを返すためです。あなたはそれについて何もすることはできません、あなたはそのタイプを書いていませんでした。他の方法で問題が発生する可能性は低いです。すべての.NETタイプをサポートしていない別の言語でこの関数を使用しない限り。修正:

<CLSCompliant(False)> _ 
Public Function ConnectionNew(ByVal DataBaseName As String) As MySqlConnection 
    '' etc... 
End Function 
+1

その下線は意図的なものなのでしょうか?気にしないで、StructLayoutの「装飾」の中にスペースとアンダースコアが付いているのが分かります。それで、タイプミスではないことが分かりました。 –

+1

アンダースコアは、 ' Public Function ConnectionNew ...'と書かれているかのように、VBでの行の継続を意味します(necromanceには申し訳ありません) – mwfearnley

関連する問題