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

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



Другими словами, как получить ID и login каждого элемента списка, какими вариантами можно это сделать?
Заранее спасибо.
  • Вопрос задан
  • 5361 просмотр
Решения вопроса 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)
{
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
COSMOS Москва
от 110 000 до 140 000 руб.
Fastdev AB Ижевск
До 140 000 руб.
Mandarinbank Москва
от 200 000 руб.
18 марта 2019, в 23:00
2000 руб./за проект
18 марта 2019, в 22:39
15000 руб./за проект
18 марта 2019, в 21:17
1000 руб./за проект