Ai đó có thể cho tôi biết lợi thế của việc sử dụng một đại biểu như trái ngược với việc gọi chính chức năng như hình dưới đây (hoặc nói cách khác tại sao chọn Option A trên Option B)? Tôi đã nhìn vào mã LINQ của ai đó đêm qua và họ đã có một cái gì đó tương tự như Option A nhưng nó đã được sử dụng để trả về một truy vấn LINQ đã biên dịch.Func Delegate vs Function
Tôi nhận ra rằng trước đây có thể được chuyển qua các chức năng khác .. chỉ không chắc chắn về tính thực tiễn của nó. BTW, tôi nhận ra điều này sẽ không biên dịch như-là .. uncommented một trong những chức năng trước khi gửi bài. TYIA
class Program
{
static void Main(string[] args)
{
Console.WriteLine(SayTwoWords("Hello", "World"));
Console.ReadKey();
}
// Option A
private static Func<string, string, string>
SayTwoWords = (a, b) => String.Format("{0} {1}", a, b);
// Option B
private static string SayTwoWords(string a, string b)
{
return String.Format("{0} {1}", a, b);
}
}
************ EDIT ************
Không chắc chắn nếu nó giải thích câu hỏi của tôi tốt hơn nhưng đây là một ví dụ của loại mã ban đầu khiến tôi nghĩ về điều này:
public static class clsCompiledQuery
{
public static Func<DataContext, string, IQueryable<clsCustomerEntity>>
getCustomers = CompiledQuery.Compile((DataContext db, string strCustCode)
=> from objCustomer in db.GetTable<clsCustomerEntity>()
where objCustomer.CustomerCode == strCustCode
select objCustomer);
}
Có lợi thế nào khi viết hàm theo cách này không?
bản sao có thể có của [Tôi vẫn không nhận được đại biểu] (http://stackoverflow.com/questions/399222/i-still-dont-get-delegates) –