tôi có thể biên dịch mã bao gồm này:C#; tạo một đại biểu mới mà không khai báo phương thức một cách riêng biệt?
OperationDelegate myOpDelegate;
static OperatorDefinition[] definitions ={
new OperatorDefinition("+",2,3,true, new OperationDelegate(OperationAdd)),
};
delegate double OperationDelegate(double[] args);
static double OperationAdd(double[] args)
{
return args[0] + args[1];
}
nhưng tôi nghĩ rằng mã của tôi sẽ trông sạch hơn nếu tôi có thể làm điều gì đó như thế này:
OperationDelegate myOpDelegate;
static OperatorDefinition[] definitions ={new OperatorDefinition("+",2,3,true, new OperationDelegate({return args[0]+args[1]}))};
delegate double OperationDelegate(double[] args);
vì tôi muốn xác định tất cả mọi thứ về mỗi OperatorDefinition ở một nơi duy nhất, thay vì xác định các hàm riêng biệt. Có cách nào để làm điều này trong C#?
(bất kỳ lời chỉ trích khác về mã của tôi sẽ được hoan nghênh, quá)
thử biểu thức lambda ... chúng gọn gàng, gọn gàng và súc tích. – explorer