を持っている可能性があり、この問題を解決するための多くの方法があります。
良い出発点は、gettableとsettableであるデリゲート(例えばAction)プロパティを作ることです。その後、そのアクションプロパティに委譲するメソッドを持つことも、単にクライアントコードで直接呼び出すこともできます。これは、アクションプロパティをプライベートセット可能にする(多分それを設定するコンストラクタを提供する)など、他の多くのオプションを開く。
などのEg.
class Program
{
static void Main(string[] args)
{
Foo myfoo = new Foo();
myfoo.MethodCall();
myfoo.DelegateAction =() => Console.WriteLine("Do something.");
myfoo.MethodCall();
myfoo.DelegateAction();
}
}
public class Foo
{
public void MethodCall()
{
if (this.DelegateAction != null)
{
this.DelegateAction();
}
}
public Action DelegateAction { get; set; }
}
私はConvertFuncをパブリックプロパティとして持っていません。上記のコードはイラストだけです。 –