Подключение DLL в C#: Пробежать по IList

Здравствуйте.
Пробуя реализовать модульность в программе, столкнулся с небольшой проблемой.
Функция, которую я вызываю, находится в dll и возвращает тип IList<User>, а программа, которая подключает dll при помощи Assembly ничего о типе не знает, ей ведомо лишь только то, что это список и в нем 3 элемента.
Как по ним пробежать?



Другими словами, как получить ID и login каждого элемента списка, какими вариантами можно это сделать?
Заранее спасибо.
  • Вопрос задан
  • 5353 просмотра
Решения вопроса 1
@serber
С помощью Reflection

foreach (object value in returned)
{
	var id = value.GetType().GetProperty("Id").GetValue(value, null);
	var login = value.GetType().GetProperty("Login").GetValue(value, null);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Paulskit
Можно сделать всё проще и более безопасно.
class User {
	public GUID Id {get;set;}
	public string Login {get;set;}
}

interface ITestInterface
{
	IList<User> GetList();
}


И получать его так:
 Activator.CreateInstance(type) as ITestInterface;

Получите на выходе строго типизированый обьект. И никакой рефлексии не нужно.
Ответ написан
Может так?
foreach(var el in returned)
{
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы