Это моя проблема (пожалуйста, несите меня здесь).Как получить общий интерфейс, не зная его конкретного типа?
У меня есть следующий базовый класс и интерфейс
public abstract class Entity
{
public Entity()
{
}
}
public interface IRelatable<T> where T : Entity
{
T RelatedEntity { get; set; }
void RelateTo()
}
У меня есть два класса, которые наследуются от Entity:
public class E1 : Entity
{
public E1
{
}
}
public class E2 : Entity, IRelatable<E1>
{
public E2
{
}
public E1 RelatedEntity { get; set; }
public void RelateTo()
{
// To some code here ....
}
}
Теперь я хочу, чтобы получить RelatedEntity Е2, что-то вроде этого:
public void DoReflcetion(Entity ent)
{
var ent2 = (ent as IRelatable<>).RelatedEntity;
}
Любые идеи, как это сделать?
Спасибо, Омри
А. Спасибо за ваш ответ. B. Проблема заключается в том, что я хочу, чтобы получить доступ к RelatedEntity из необщего класса, как это:
public class SomeClass
{
public void DoSomething(IRelatable<> rel)
{
rel.RelateTo();
}
}
А. Спасибо за ваши ответ. B. Проблема заключается в том, что я хочу, чтобы получить доступ к RelatedEntity из необщего класса, как это: 'Открытый класс SomeClass { общественного недействительными DoSomething (IRelatable <> отн) { rel.RelateTo(); } } ' –