我想要做的就是使用类中每个方法返回的值进行一些操作。对每个方法的返回值采取的操作
因此,举例来说,如果我有一个Order类具有方法
public Customer GetCustomer()
{
Customer CustomerInstance = // get customer
return CustomerInstance;
}
比方说,我想记录这些的创造 - 日志(CustomerInstance);
我选项(据我所知)是:返回对象之前,每一种方法
通话记录()。我不是这样的粉丝,因为如果在很多方法上使用它,它会变得很笨重。这也不是该方法目的的固有部分。
使用组合物或继承到层日志卡隆类似于Order类:
公共客户GETCUSTOMER()
{
顾客CustomerInstance = this.originalCustomer.GetCustomer(); Log(CustomerInstance);
return CustomerInstance;
}
我不认为这会为我购买任何超过#1的东西。在每个返回的类型创建扩展方法:
顾客CustomerInstance = Order.GetCustomer()日志();
其缺点同样多。
我正在为每个(或几乎每个)返回的对象执行此操作,如果可能,会自动执行此操作,而无需编写双倍的代码量。我觉得我要么试图弯曲语言去做一些不应该做的事情,要么就是没有认识到可以实现这一点的语言功能。可能的解决方案将不胜感激。