我有以下的课堂签名:
public class CostZoneEffectivityViewModel : CustomerViewModel, IViewModel, ISQLFilter<CostZoneEffectivityView>, IRefresh<CostZoneEffectivityView>, ITotal<CostZoneEffectivityView>注意,最后三个接口的Type参数是CostZoneEffectivityView,它的名称和类签名都很长。
我想知道是否有办法告诉它一次,使它的眼睛更容易一点(即缩短它)?
也许是这样的:
ISQLFilter<T>, IRefresh<T>, ITotal<T> where T is CostZoneEffectivityView有什么东西可以让我在不改变功能的情况下缩短类签名?
发布于 2014-12-02 17:38:24
可以使用 alias directive对类型进行别名。
using CZEV = CostZoneEffectivityView;
...
public class CostZoneEffectivityViewModel : CustomerViewModel,
IViewModel,
ISQLFilter<CZEV>,
IRefresh<CZEV>,
ITotal<CZEV>这是个好主意吗可能不是。
如果您通常将这3个接口放在一起使用,则还可以考虑将它们封装在一起:
public interface ICombinedFunctionality<T> // bad name, but you get the idea
: ISQLFilter<T>,
IRefresh<T>,
ITotal<T>
{}然后,您只需要在类定义中使用它一次:
public class CostZoneEffectivityViewModel : CustomerViewModel,
IViewModel,
ICombinedFunctionality<CostZoneEffectivityView>
...https://stackoverflow.com/questions/27255531
复制相似问题