ストレートポイント。一般的な継承と代理人
class Test
{
private Dictionary<Type, Action<Base>> dict;
public Test()
{
dict = new Dictionary<Type, Action<Base>>();
}
public void Test(Inh inh)
{
}
public void Add<T>(Action<T> callback)
where T : BasePackage
{
dict.Add(typeof(T), callback);
}
}
主なアイデアのように辞書を使用することです: - 私は、単純な継承モデル
class Base {}
class Inh : Base {}
を持っていると私はこれ(このコードはコンパイルされませんのでご注意)のような何かをしたいとしましょう関数呼び出し元。
dict[typeof(Inh)](new Inh());
残念ながら、私は自分自身がそう、私は助けを求めていますsoulutionを見つけることができません:私はコールバックとしてTest
FUNCを追加した場合たとえば、私は後にこのような何かを行うことができます。誰かが何か提案があればそれは高く評価されるでしょう。
これは間違った方向から近づいている可能性があります。 –
なぜ継承+関数テーブルを混在させるのですか? –
実際の目標は何ですか?これをどのように使用する予定ですか? –