私のクラス(または基底クラス)のメソッドを基底クラスのメソッドに渡すことができるようにする必要があります。式を介してパラメータを渡す
私は以下のポスタリティについて知っています:私のベースクラスでは、私はpublic void Call(Action action)
というメソッドを持っています。これは単にaction()
を呼び出して他のものを行います。
しかし、今のところ私はこのメソッドにすべてを入れることができます。 Call(() => string.Format("Some {0}, "text));
しかし、私は自分のタイプまたはベースタイプのメソッドを許可したいだけです。
私はpublic void Call(Expression<Func<MyClassType, Action>> expressionToAction)
のようなものだと思っていますが、ここで正しい点はありません。
これも可能ですか? expression-paramを使用すると、メソッドがAction
を返さなければならないというエラーが発生します。これは完全に私が望むものではありません。
サブクラスの具体的な実装によってオーバーライドされた、基本クラスの単純な仮想メソッドはどうでしょうか? – Tomer
'Func'は、返された 'Action'について何も保証しません。あなたは実際に何を達成しようとしていますか?なぜこれをやりたいのかという具体的な例を挙げると、おそらく最初にこれを行うより良い方法があります。 –
Groo