मुझे लगता है कि मुझे कुछ बुनियादी याद आ रहा है। मेरी समस्या यहाँ है।एक क्रिया के साथ एक कार्य बनाएँ <T>
मैं एक सिस्टम बनाने की कोशिश कर रहा हूं। थ्रेडिंग। कार्य। कार्य उदाहरण किसी क्रिया को निष्पादित करने के लिए जो किसी निश्चित प्रकार के पैरामीटर को स्वीकार करता है। मैंने सोचा कि मैं
void DoWork(MyClass obj) {} //My action that accepts a parameter of type 'MyClass'
MyClass obj = new MyClass();
Action<MyClass> action = DoWork; //action that points to the method
Task task = new Task(action,obj); //task that would execute 'DoWork' with 'obj' as the parameter when I call Start.
स्पष्ट रूप से यह संकलित नहीं करता है। ऐसा लगता है कि मैं केवल एक कार्य के लिए Action<object>
का उपयोग कर सकता हूं और Action<T>
नहीं कर सकता और फिर 'ऑब्जेक्ट' को मेरी विधि के अंदर टी में डाल सकता हूं।
मैं सबसे प्रभावी और कुशलता से क्या हासिल कर सकता हूं?
किसी भी कारण है कि इस एपीआई का हिस्सा नहीं है? – alwayslearning
'टास्क '.NET 4.0 के बाद से ढांचे में है, इसलिए मुझे लगता है कि क्वालीफायर आवश्यक नहीं है। – svick
इसके अलावा, यह नहीं है कि contravariance कैसे काम करता है, आप 'एक्शन