Вызвать метод конкретных членов basetype - PullRequest
0 голосов
/ 27 сентября 2018

У меня проблема с вызовом этих классов:

public class Container 
{
    IARepo a = new ARepo();
    IBRepo b = new BRepo();
    ICRepo c = new CRepo();
}

public class ARepo:Repo<ABase>, IARepo 
{
}

public interface IARepo: IRepo<ABase> 
{
}

public interface IRepo<T> 
{
    GetAll();
}

public class Repo<T> : IRepo<T> 
{
    GetAll();
}

Мне нужно перебрать a, b и c, чтобы найти определенный член контейнера и вызвать GetAll () с помощью отражений на нем.

На данный момент я делаю:

PropertyInfo[] properties = typeof(container).GetProperties();
foreach (PropertyInfo property in properties)
{
    if (property.Name.Equals(NAME OF REPOSITORY))
    {
        //Access GetAll() for the specified property
    }
}

Используя MethodInfo Я не могу получить доступ к GetAll(), так как он объявлен в базовом типе члена.

Не могли бы вы рассказать мне, как это сделать и почему работает кислое решение?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...