在调用这些类时遇到问题:
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()
,因为它是该成员的基本类型中声明的内容。
您能启发我如何做以及为什么酸味解决方案有效吗?
谢谢!