Tôi tìm thấy một đoạn mã có dạng như sau:Cú pháp để tham chiếu một phương thức trả về một biểu thức cho phương thức khác?
public static Expression<Func<Invoice, CustomerContact>> GetCustomerContact()
{
return i => new CustomerContact {
FirstName = i.Customer.FirstName,
LastName = i.Customer.LastName,
Email = i.Customer.Email,
TelMobile = i.Customer.TelMobile,
};
}
Trong các bộ phận khác của mã này, tôi muốn nhận được cùng một đối tượng nhẹ CustomerContact
, chỉ không phải từ hóa đơn, nhưng từ khách hàng riêng của mình. Vì vậy, điều hiển nhiên phải làm là nên có:
public static Expression<Func<Customer, CustomerContact>> GetCustomerContact()
{
return c => new CustomerContact {
FirstName = c.FirstName,
LastName = c.LastName,
Email = c.Email,
TelMobile = c.TelMobile,
};
}
và sau đó thay đổi Expression
tham Invoice
như là đầu vào để đề cập đến phương pháp này, tức là một cái gì đó như thế này:
public static Expression<Func<Invoice, CustomerContact>> GetCustomerContact()
{
return i => GetCustomerContact(i.Customer); // doesn't compile
}
là gì cú pháp chính xác cho điều này?
Sẽ hữu ích nếu bạn đăng lỗi. –
@newStackExchangeInstance: "Phương pháp, đại biểu hoặc sự kiện được mong đợi" –