के साथ क्रिएटइंस्टेंस मैं एक स्थानीय कॉमांड इंस्टेंस को नया करने की कोशिश कर रहा हूं जो System.Data.SqlClient.SqlCommandSet का एक निजी वर्ग है। मैं तो बस ठीक प्रकार की जानकारी हड़पने के लिए सक्षम होने के लिए लग रहे हैं:एक्टिवेटर। निजी सीलबंद वर्ग
Assembly sysData = Assembly.Load("System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
localCmdType = sysData.GetType("System.Data.SqlClient.SqlCommandSet+LocalCommand");
लेकिन Activator.CreateInstance एक अपवाद फेंकता है जब मैं यह दृष्टांत का प्रयास करें:
object item = Activator.CreateInstance(localCmdType,
new object[] { commandText, parameters, num7, commandType });
System.MissingMethodException: निर्माता प्रकार पर 'सिस्टम .Data.SqlClient.SqlCommandSet + LocalCommand 'नहीं मिला।
कन्स्ट्रक्टर तर्क मैं प्रतिबिंब में देखे गए हस्ताक्षर से मेल खाता हूं। क्या एक अलग क्लास के साथ एक निजी वर्ग स्थापित कर रहा है जो एक अलग CreateInstance अधिभार के साथ समर्थित है या क्या?
डॉक्स कहना CreateInstance केवल 2.0sp1 से पहले सार्वजनिक कंस्ट्रक्टर्स कहता है। उसके बाद, आवश्यक अनुमतियों का एक गुच्छा है। –
GetConstructor() पर अच्छी कॉल, जो काम करता है। मुझे यह अजीब लगता है कि GetConstructor कॉल एक्टिवेटर में से एक जैसा दिखता है। क्रिएट इंस्टेंस() अधिभार। उदाहरण के लिए –