У меня есть словарь:
private Dictionary<Type, IExample> examples;
У меня есть два класса, которые реализуют интерфейс:
public class Example1 : IExample
{
}
public class Example2 : IExample
{
}
Я создал способ получить экземпляр из словаря, если он существует, но я пытаюсь выяснить способ создания нового объекта, если он не существует.
public T GetExample<T>() where T : IExample
{
// Return the signal if it exists
if (examples.ContainsKey(typeof(T)))
{
IExample value;
if (!examples.TryGetValue(typeof(T), out value))
{
// unable to get value
}
return (T)value;
}
// Stuck on this line here. How exactly do I instantiate a new example if it doesn't exist.
examples.Add(typeof(T), new );
return default(T);
}
Возможно ли это?