मैं एक कार्य कैसे चला सकता हूं जो मूल्य लौटाता है और पैरामीटर लेता है? मैं देखता हूं कि एक अधिभारित विधि Task.Run<TResult>(Func<TResult>)
है लेकिन मैं वहां पैरामीटर कैसे पारित कर सकता हूं?कार्य.रुन और Func <>
11
A
उत्तर
27
Func<TResult>
पैरामीटर नहीं लेता है। आम तौर पर आप कैप्चर करते हैं, इसके बजाय लैम्ब्डा अभिव्यक्ति का उपयोग करते हुए पैरामीटर। उदाहरण के लिए:
public void DoSomething(string text)
{
Task<int> task = Task.Run(() => text.Length);
...
}
यहाँ text
एक पर कब्जा कर लिया चर है ... तो भी आप सिर्फ एक Func<int>
बना रहे हैं, हालांकि, यह विधि पैरामीटर का उपयोग कर है।
6
आप "राज्य" ऑब्जेक्ट में पास करने के लिए Task.Factory.StartNew() ओवरलोड का उपयोग कर सकते हैं जिसमें आपके द्वारा उपयोग किए जाने वाले सभी पैरामीटर हैं। NameValueCollection में गुजरने वाला एक बहुत ही मूल उदाहरण है, लेकिन आप स्पष्ट रूप से किसी भी प्रकार की ऑब्जेक्ट में गुजर सकते हैं।
Task<bool>.Factory.StartNew(
(a) => {
NameValueCollection nvc = a as NameValueCollection;
if(nvc != null) {
nvc.AllKeys.ForEach(k => Console.WriteLine(nvc[k]));
}
return true;
},
new NameValueCollection() { { "param1", "hithere!" } });
संबंधित मुद्दे
- 1. अभिव्यक्ति <Func<T,bool>> अभिव्यक्ति से <Func<T>>
- 2. Func <TEntity, bool>
- 3. एक अभिव्यक्ति <Func<,>> प्रतिबिंब
- 4. अभिव्यक्ति <Func<T,bool>> जेनेरिक विधि
- 5. Func <tobject, bool> या भविष्यवाणी <TObject>?
- 6. गैर स्थैतिक अभिव्यक्ति <Func<X>> 'इस'
- 7. गतिशील अभिव्यक्ति बनाना <Func<T,Y>>
- 8. सी # कार्रवाई <> Func <> पैरामीटर
- 9. Func <T, String> को Func <T, bool>
- 10. Func <T> आउट पैरामीटर
- 11. सी # Func <> लाइब्रेरी में प्रतिनिधियों
- 12. Moq फ्रेमवर्क Func <T,T>
- 13. Nullable Func <T, TResult>
- 14. रेजर Func <ऑब्जेक्ट, ऑब्जेक्ट> MvcHtmlString
- 15. गतिशील रूप से Func <> प्रकार
- 16. प्रयोग जब (Func <bool>) विधि
- 17. Moq.Mock <अभिव्यक्ति <Func<T,bool> >>() - Moq
- 18. मैं गतिशील रूप से अभिव्यक्ति कैसे बना सकता हूं <Func <MyClass, bool >> अभिव्यक्ति से भविष्यवाणी <Func <MyClass, string >>?
- 19. सी # एक अभिव्यक्ति <Func <SomeType>> को अभिव्यक्ति में कैसे परिवर्तित करें <Func <OtherType>>
- 20. Func <T, TResult> और कनवर्टर <TInput, TOutput> के बीच क्या अंतर है?
- 21. अभिव्यक्ति <Func <TModel, string >> अभिव्यक्ति के लिए <क्रिया <TModel>> "गेटर" "सेटर"
- 22. Func <> और अभिव्यक्ति <Func<>> परिवर्तनीय क्यों हैं? मेरे मामले में कोई काम क्यों करता है?
- 23. <%! %> और <% %>
- 24. .NET Framework 2.0 में "Func <(<(TResult> का)>" प्रतिनिधि "का अनुकरण कैसे करें?
- 25. अभिव्यक्ति से वास्तविक वापसी प्रकार प्राप्त करें <Func <T, object>> उदाहरण
- 26. FSharpFunc <> Func <> से तेज क्या बनाता है?
- 27. Func <T, TResult> शून्य ट्रस्टल्ट के साथ?
- 28. Func <> बेस क्लास का उपयोग पैरामीटर
- 29. अभिव्यक्ति <Func <TModel, TProperty >> ऑब्जेक्ट प्रारंभिकता के लिए संपत्ति के रूप में?
- 30. एक पैरामीटर प्रकार मेरा Func <shui>
क्या यह धागा सुरक्षित है? – BVernon
@BVernon: मान लीजिए कि आप बाद में 'टेक्स्ट' के मान को नहीं बदलते हैं, यह मेरे लिए ठीक लग रहा है। –
मुझे लगता है कि मैं कुछ सचमुच मूलभूत सामानों को भूल रहा हूं ... यदि मैं टेक्स्ट के लिए अलग-अलग मानों के साथ कई बार कई बार कॉल करता हूं तो प्रत्येक कॉल के लिए स्मृति में प्रत्येक संस्करण की एक प्रति होगी, है ना? – BVernon