これは私の問題です (ここで我慢してください)。
次の基本クラスとインターフェースがあります
public abstract class Entity
{
public Entity()
{
}
}
public interface IRelatable<T> where T : Entity
{
T RelatedEntity { get; set; }
void RelateTo()
}
Entity から継承する 2 つのクラスがあります。
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 ....
}
}
ここで、次のような E2 の RelatedEntity を取得したいと思います。
public void DoReflcetion(Entity ent)
{
var ent2 = (ent as IRelatable<>).RelatedEntity;
}
これを行う方法はありますか?
ありがとう、オムリ
A. ご回答ありがとうございます。B. 問題は、次のような非ジェネリック クラスから RelatedEntity にアクセスしたいことです。
public class SomeClass
{
public void DoSomething(IRelatable<> rel)
{
rel.RelateTo();
}
}