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?

questionAnswers(5)

yourAnswerToTheQuestion