में परिभाषित जेनेरिक तर्कों के साथ एक गैर सामान्य विधि को आमंत्रित करें यहां मेरा मुद्दा है;एक सामान्य वर्ग
public class MyClass<T>
{
public void DoSomething(T obj)
{
....
}
}
मैं क्या है:
var classType = typeof(MyClass<>);
Type[] classTypeArgs = { typeof(T) };
var genericClass = classType.MakeGenericType(classTypeArgs);
var classInstance = Activator.CreateInstance(genericClass);
var method = classType.GetMethod("DoSomething", new[]{typeof(T)});
method.Invoke(classInstance, new[]{"Hello"});
उपरोक्त मामले अपवाद मैं है: स्वर्गीय बाध्य आपरेशन प्रकार या तरीकों जिसके लिए ContainsGenericParameters सच है पर नहीं किया जा सकता।
अगर मैं विधि सामान्य यह एक अपवाद के साथ फिर से विफल रहता है बनाने की कोशिश: MakeGenericMethod केवल एक विधि पर कहा जा सकता है, जिसके लिए MethodBase.IsGenericMethodDefinition सच है।
मुझे विधि कैसे शुरू करनी चाहिए?
बिल्कुल सही! यह मेरे घंटों के लिए stumped था .... – CRG