13,347
社区成员
发帖
与我相关
我的任务
分享
public interface IMyException
{
Exception ex { get; set; }
Datetime CreateTime{get;set;}
}
它定义了“凡是实现了 MyException 的类都要有两个属性”,那么这个好还是不好呢?完全无法单独判断其好坏。如果我们定义为某种 class,那么就可以增加这两种属性的默认初始值,甚至在内部监听其属性改变而做一些动作,并且让子类继承这些行为。
一般来说,定义为接口,是因为我们可能遇到了“无奈的”情况,必须用于多重继承,也就是说有许多对象可能都需要“是一个 MyException”,但是这些对象每一种类都有一个更为重要的“父类”需要继承。万般无奈,我们不得不让每一种实现了 IMyException 的类型都手写去实现这两个属性、以及首先千篇一律的行为代码。因为 .net 并不支持多重继承。