У меня есть следующая настройка, где я создаю реестр моих интерфейсов, но я не знаю, как избежать использования дженериков. Ниже, конечно, дается компиляционная ошибка. Каков правильный способ установить что-то подобное? У меня будет несколько реализаций MyInterface, поэтому я хочу иметь доступ к ним во время выполнения из реестра.Использовать общий интерфейс без спецификаций?
public interface MyInterface<T1, T2> {
}
public static class ApiEntityMapperRegistry {
private static Dictionary<Type, Type> registry = new Dictionary<Type, Type>();
public static void Register<T2, T3>() {
if (!registry.ContainsKey(typeof(T2))) {
registry.Add(typeof(T2), typeof(T3));
}
}
// this method doesn't compile
public static MyInterface<T1, T2> GetMapper(){
return null;
}
}
}
Или, может быть, существует лучший подход?
'GetMapper()' также должны иметь общие TypeArguments возможно? 'GetMapper()' –
Что такое 'IApiEntityMapper'? –
@AdrianNasui - Исправлено ... It's MyInterface –