Czy mogę mieć zmienną liczbę ogólnych parametrów?
W moim projekcie mam następujące trzy interfejsy, które są implementowane przez klasy zarządzające łączeniem różnych obiektów biznesowych, które mają różne struktury.
public interface IMerger<TSource, TDestination>
{
TDestination Merge(TSource source, TDestination destination);
}
public interface ITwoWayMerger<TSource1, TSource2, TDestination>
{
TDestination Merge(TSource1 source1, TSource2 source2, TDestination destination);
}
public interface IThreeWayMerger<TSource1, TSource2, TSource3, TDestination>
{
TDestination Merge(TSource1 source1, TSource2 source2, TSource3 source3, TDestination destination);
}
To działa dobrze, ale wolałbym je miećIMerger
interfejs, który określa zmienną liczbęTSource
parametry, coś takiego (przykład poniżej używaparams
; Wiem, że to nie jest poprawne C #):
public interface IMerger<params TSources, TDestination>
{
TDestination Merge(params TSource sources, TDestination destination);
}
Czy jest jakiś sposób, aby to osiągnąć, czy coś funkcjonalnie równoważnego?