मैं एक पैरामीटर के रूप लैम्ब्डा क्वेरी पारित करने के लिए की जरूरत है, निम्नलिखित कोड नमूना है और मैं एक के लिए यह लागू खोजने के लिए दिलचस्प हूँ, वहाँ के नमूने है: इस तरह की कुछ बात:क्या लैम्ब्डा अभिव्यक्ति को चर या तर्क के रूप में पास करने का कोई तरीका है?
var expr1 = Where(n => n > 6).OrderBy(n => n % 2 == 0).Select(n => n);
var expr2 = TakeWhile((n, index) => n >= index));
और इस तरह इसका इस्तेमाल :
public void UseLambda<T> (IEnumerable<T> source , lambda Expr){
var items= Expr.Compile(source);
foreach(var item in items)
Console.Writeline(item.ToString());
}
public void Main(){
List<int> numbers = new List<int> { 10, 24, 9, 87, 193, 12, 7, 2, -45, -2, 9 };
var expr1 = Where(n => n > 6).OrderBy(n => n % 2 == 0).Select(n => n);
UseLambda(numbers, expr1);
}
क्या किसी के बारे में कोई विचार है?
में कोई त्रुटि है परिभाषित expr1, expr2: 'System.Collections.IEnumerable' और कोई विस्तार विधि 'कहाँ' प्रकार का एक पहला तर्क को स्वीकार करने 'कहाँ' 'System.Collections के लिए एक परिभाषा शामिल नहीं है। IENumerable 'पाया जा सकता है (क्या आप एक प्रयोग निर्देश या असेंबली संदर्भ खो रहे हैं?) – Saeid
में परिवर्तन की आवश्यकता है: Func, ...... –
Saeid
संपादन सैयद के लिए धन्यवाद। – Samuel