我发现自己使用以下设计来处理我的业务对象:
public class BusinessObjectBase { }
public class BusinessObject<T> : BusinessObjectBase
where T: BusinessObject<T>
{
}
那么当我从中继承时,我必须写下这样的东西:
public class Customer: BusinessObject<Customer>
看起来有点奇怪,但它似乎也起作用,给我我想要的东西。尽管如此仍然感觉很奇怪,如果这是一个常见的设计,或者如果有一个更好的设计,我可能忽略了完成同样的事情,我只是好奇吗?