के लिए प्रतिनिधि मैं एक स्थैतिक विधि का प्रतिनिधि बनने की कोशिश कर रहा हूं जो एक रेफरी तर्क लेता है। कृपया मत पूछो कि मैं ऐसी कॉकमामी चीज़ क्यों कर रहा हूं। यह सीखने का एक हिस्सा है कि कैसे नेट, सी #, और प्रतिबिंब काम और इसे अनुकूलित करने के लिए कैसे।एक्शन < ref T1, T2>
मेरे कोड है:
public struct DataRow
{
private double t;
static public void Cram_T(ref DataRow dr, double a_t)
{
dr.t = a_t;
}
}
''''
Type myType = typeof(DataRow);
MethodInfo my_Cram_T_Method = myType.GetMethod("Cram_T");
var myCram_T_Delegate =
Delegate.CreateDelegate(typeof(Action<DataRow, Double>),
my_Cram_T_Method)
as Action<DataRow, Double>;
इसका कारण यह है (मुझे लगता है कि) मेरे एक बाध्यकारी त्रुटि देता है सामान्य कार्रवाई विधि से मेल नहीं खाता।
var myCram_T_Delegate =
Delegate.CreateDelegate(typeof(Action<ref DataRow, Double>),
my_Cram_T_Method)
as Action<ref DataRow, Double>;
लेकिन इस संकलन नहीं होगा:
घड़ी विंडो में Cram_T_Method का मूल्य निरीक्षण
{Void Cram_T(DataRow ByRef, Double)}
मैं तो कार्रवाई में रेफरी कीवर्ड उपयोग करने की कोशिश देता है। सी # कंपाइलर टोकन "रेफरी" पर चोक करता है।
इस प्रतिनिधि को बनाने का सही तरीका क्या है?
कौन सा भीतरी विधि के लिए सीमाओं लाता है:
एक त्रुटि फेंकता: मैं बस यह कोशिश की है रों। – Bitterblue