Получение типов из массива индивидуально типизированных классов

Thundter спросил: 03 февраля 2018 в 11:59 в: c#

Я пытаюсь найти лучший способ передать несколько индивидуально типизированных классов в метод. Я не буду заранее знать, сколько отдельных типизированных классов будет передано в метод, поэтому запустили код так, как это ...

Интерфейс

public interface ITypedClass {}

Типированный класс

public class TypedClass<T> : ITypedClass 
{
    public IEnumerable<T> Output() {} 
}

Метод

public static void DoSomething(params ITypedClass[] typedClasses) {}

... и при этом выполняются что-то вроде следующего: метод DoSomething заполняет типизированные классы соответствующими значениями, основанными на коллективе того, что передается в метод DoSomething.

var typedClassA = new TypedClass<TypeA>();
var typedClassB = new TypedClass<TypeB>();
...
var typedClassN = new TypedClass<TypeN>();DoSomething(typedClassA, typedClassB, ... typedClassN etcvar valueA - typedClassA.Output();
var valueB - typedClassB.Output();
...
var valueN - typedClassN.Output(); 

К сожалению, внутри метода DoSomething ...

var typedClass = (TypedClass<T>)typedClasses.First();

... отдельные значения в параметре typedClasses не могут быть преобразованы обратно в TypedClass, потому что метод DoSomething doesn Не знаю, что такое Т в каждом случае.

Может ли кто-нибудь подумать о лучшем способе сделать это?

0 ответов