है तो किसी प्रकार के ऑब्जेक्ट के माध्यम से मैं गणना कैसे कर सकता हूं यह व्याख्या करना थोड़ा मुश्किल है। तो यहाँ यह जाता है।जब मैं एक आईनेमरेबल
public T FooBar<T>(Func<T> function)
{
T returnData = function();
// want to iterate through returnData to do something to it
return returnData;
}
तो returnData
(टी) एक IEnumerable
सूची है, तो मैं returnData
के माध्यम से गणना करने में प्रतिबिंब का उपयोग कर उसकी सामग्री को संशोधित करने के लिए करना चाहते हैं:
मैं इस तरह एक समारोह है। लेकिन मैं ऐसा करने में सक्षम नहीं लग सकता। जब मैं एक गणनीय प्रकार के returnData
कास्ट करने के लिए प्रयास करते हैं, मैं एक अपवाद प्राप्त करें:
प्रकार
'System.Collections.Generic.List`1 [कारें]'
की वस्तु कास्ट करने में असमर्थ
'सिस्टम.कोलेक्शन। जेनरिक.लिस्ट`1 [सिस्टम.ऑब्जेक्ट]' टाइप करने के लिए।
मुझे नहीं पता कि वापसी का प्रकार 'कारों' की एक सूची होगी, उदाहरण के लिए समय से पहले, केवल रन टाइम पर। तो मुझे प्रतिबिंब का उपयोग करके जांचना होगा यदि यह एक सूची है, और फिर इसे कास्ट करने का प्रयास करें ताकि मैं इसके माध्यम से गणना कर सकूं।
जब तक कि मैं इसके बारे में गलत तरीके से नहीं जा रहा हूं। के माध्यम से मैं T
प्रकार का उपयोग कैसे कर सकता हूं?
यहाँ मांस और आलू है मैंने ओवरलोड विचार के बारे में सोचा नहीं है। मैं एक बार इसका प्रयास करूँगा। – 7wp