これは私の問題です(ここで私に同行してください)。特定のタイプを知らずにジェネリックインターフェイスを取得するにはどうすればよいですか?
は、私は、次の基本クラスを持っているとのインタフェース
public abstract class Entity
{
public Entity()
{
}
}
public interface IRelatable<T> where T : Entity
{
T RelatedEntity { get; set; }
void RelateTo()
}
私は、エンティティから継承二つのクラスがあります。今
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.、 をありがとうあなたの答えをいただき、ありがとうございます。あなたはこのような何かを行うことができます
public class SomeClass
{
public void DoSomething(IRelatable<> rel)
{
rel.RelateTo();
}
}
A.をごいただき、ありがとうございます回答。 B.問題は、私は、このような非ジェネリッククラスからRelatedEntityにアクセスしたいということです。 'パブリッククラス工ass { ます。public void doSomethingの(IRelatable <> REL) { rel.RelateTo(); } } ' –