2011-08-15 11 views
10

मैं निम्न चेतावनी संदेश प्राप्त हो रहा ...मेरा फ़ंक्शन सीएलएस-अनुरूप क्यों नहीं है? समारोह 'ConnectionNew' की

वापसी प्रकार सीएलएस अनुरूप नहीं है।

... इस कार्य के लिए:

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

क्या इस संदेश का क्या मतलब है, और मैं इसे कैसे ठीक कर सकते हैं?

+1

'MySQL कनेक्शन' क्या है? यह कहां परिभाषित किया जाता है? त्रुटि इंगित करती है कि समस्या है। – Oded

+0

'MySqlConnection'' MySQL.Data.MySqlClient' का सदस्य है। क्या मुझे इसका इस्तेमाल करने की अनुमति नहीं है? – Urbycoz

+3

बेशक आपको अनुमति है। लेकिन यह एक असेंबली नहीं है जो सीएलएस अनुपालनशील है। और इस तरह, केवल एक चीज जो आप कर सकते हैं वह है @ हंस से जवाब का पालन करें। – Oded

उत्तर

21

ऐसा इसलिए है क्योंकि आप एक प्रकार की वस्तु वापस कर रहे हैं जो सीएलएस अनुपालन नहीं है। इसके बारे में आप कुछ नहीं कर सकते, आपने टाइप नहीं लिखा था। बस स्वीकार करें कि आप जानते हैं कि यह अनुपालन नहीं है, अन्यथा किसी भी समस्या का कारण होने की संभावना नहीं है। जब तक आप किसी अन्य भाषा में फ़ंक्शन का उपयोग नहीं करते हैं जो सभी .NET प्रकारों का समर्थन नहीं करता है। ठीक करें:

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

क्या अंडरस्कोर जानबूझकर, या एक टाइपो है? कोई बात नहीं, मैं स्ट्रक्चरलाइट "सजावट" में देखता हूं कि इसमें अंतरिक्ष और अंडरस्कोर भी शामिल है, इसलिए अब यह स्पष्ट है कि यह कोई टाइपो नहीं था। –

+1

अंडरस्कोर वीबी में एक लाइन निरंतरता को दर्शाता है, जैसे कि आपने ' सार्वजनिक फ़ंक्शन कनेक्शन लिखा होगा ... '(necromance के लिए खेद है) – mwfearnley

संबंधित मुद्दे