В Java я могу указать универсальный шаблон с помощью подстановочного знака «?». Можно создать такую карту:
Map
.
Я работаю с C #, и мне нужен Dictionary
(где? Может быть int, double, любым типом). Возможно ли это в C #?
EDIT:
Пример:
interface ISomeInterface<out T>{
T Method();
void methodII();
}
class ObjectI : ISomeInterface<int>{
...
}
class ObjectII : ISomeInterface<double>{
...
}
class ObjectIII : ISomeInterface<string>{
....
}
Я пытался отобразить эти объекты в Dictionary, например:
Dictionary<String, ISomeInterface<?>> _objs = new Dictionary<String, ISomeInterface<?>();
_objs.Add("Object1", new ObjectI());
_objs.Add("Object2", new ObjectII());
_objs.Add("Object3", new ObjectII());
foreach(var keyVal in _objs){
Console.WriteLine(keyVal.Method());
}
Объекты, реализующие ISomeInterface, загружаются во время выполнения с помощью Assembly и Activator.createInstance. В момент создания я не делаю этого, если объекты реализуют ISomeInterface
или ISomeInterface
.
Любая помощь приветствуется.