У меня есть вспомогательный метод здесь, в классе. Он возвращает все экземпляры данного интерфейса во всех библиотеках домена приложения.
public static class Helper
{
public static List<T> GetOfType<T> ()
{
var t = from asm in AppDomain.CurrentDomain.GetAssemblies()
from type in asm.GetTypes()
where !type.IsInterface && !type.IsAbstract && typeof(T).IsAssignableFrom(type)
select (T)Activator.CreateInstance(type);
return t.List();
}
}
Редактировать
Теперь скажите, что у меня есть интерфейс
IUserContent
{
string URL {get;set;}
}
и реализация скажем PhotoContent
public class PhotoContent
{
public string URL {get;set]}
}
теперь, когда я говорю
var c = Helper.GetOfType<IUserContent>();
Это дает мне 9 экземпляров IUserContent, все указывающие на фотоконтент
В этом проблема.
Я не мог понять, в чем причина.
Может ли кто-нибудь помочь здесь.
С уважением
Parminder