Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否为所有泛型声明一次实现的类型?_C#_Generics_Interface - Fatal编程技术网

C# 是否为所有泛型声明一次实现的类型?

C# 是否为所有泛型声明一次实现的类型?,c#,generics,interface,C#,Generics,Interface,我有以下班级签名: public class CostZoneEffectivityViewModel : CustomerViewModel, IViewModel, ISQLFilter<CostZoneEffectivityView>, IRefresh<CostZoneEffectivityView>, ITotal<CostZoneEffectivityView> 是否有任何东西允许我在不更改功能的情况下缩短类签名?您可以使用 使用CZEV=Cos

我有以下班级签名:

public class CostZoneEffectivityViewModel : CustomerViewModel, IViewModel, ISQLFilter<CostZoneEffectivityView>, IRefresh<CostZoneEffectivityView>, ITotal<CostZoneEffectivityView>

是否有任何东西允许我在不更改功能的情况下缩短类签名?

您可以使用

使用CZEV=CostZoneEffectivityView;
...    
公共类CostZoneEffectivityViewModel:CustomServiceWModel,
IViewModel,
ISQLFilter,
艾瑞弗斯,
伊托塔尔
这是个好主意吗?可能不会

如果你常用这3个接口在一起,你也可以考虑把它们打包在一起:

public interface ICombinedFunctionality<T> // bad name, but you get the idea
            : ISQLFilter<T>, 
             IRefresh<T>, 
             ITotal<T>
{}
public interface-ICombinedFunctionality//名声不好,但你明白了
:ISQLFilter,
艾瑞弗斯,
伊托塔尔
{}
然后,在类定义中只需要一次:

public class CostZoneEffectivityViewModel : CustomerViewModel, 
         IViewModel, 
         ICombinedFunctionality<CostZoneEffectivityView>
...
公共类CostZoneEffectivityViewModel:CustomServiceWModel,
IViewModel,
iCombinedFunction
...

缩短类名?用。我最近才学会这个,不知道为什么我没有想到这个哈哈。我一直在尝试一些东西,比如我的例子哈哈。谢谢。我也是,我爱你。
public interface ICombinedFunctionality<T> // bad name, but you get the idea
            : ISQLFilter<T>, 
             IRefresh<T>, 
             ITotal<T>
{}
public class CostZoneEffectivityViewModel : CustomerViewModel, 
         IViewModel, 
         ICombinedFunctionality<CostZoneEffectivityView>
...