Что я хотел бы сделать, это предпринять некоторые действия, используя значение, возвращаемое каждым методом в классе.Действие по возвращаемому значению каждого метода
Так, например, если у меня есть класс Order, который имеет метод
public Customer GetCustomer()
{
Customer CustomerInstance = // get customer
return CustomerInstance;
}
Скажем, я хочу, чтобы войти в создание этих - Log (CustomerInstance);
Мои варианты (AFAIK) являются:
Call Log() в каждом из этих методов перед возвратом объекта. Я не поклонник этого, потому что он становится громоздким, если используется на многих классах с большим количеством методов. Это также не является неотъемлемой частью цели метода.
Применение композиции или наследования к слою журнале Callon класс Order, похожий на:
GetCustomer госзаказчиках()
{
Клиент CustomerInstance = this.originalCustomer.GetCustomer(); Журнал (CustomerInstance);
return CustomerInstance;
}
Я не думаю, что это купило мне что-нибудь за # 1.Создание методов расширения по каждому из возвращаемых типов: Log
клиентов CustomerInstance = Order.GetCustomer()();.
, который имеет как можно меньше минусов.
Я ищу, чтобы сделать это для каждого (или почти каждого) объекта, возвращенного автоматически, если это возможно, без необходимости писать вдвое больше кода. Я чувствую, что я либо пытаюсь склонить язык к тому, что он не должен, либо не смог распознать какую-либо функцию языка, которая позволила бы это сделать. Возможные решения были бы весьма полезны.