というクラスがあるとEnabler
します。通常のようにクラスのインスタンスを作成します (半疑似 C# コードで)。
bool cond;
Enabler enable = new Enabler(cond);
というイネーブラーのメソッドを呼び出すと問題が発生します。Enable
非常に冗長なので、それほど大きな問題ではありません。
enable.Enable(/*some code to enable*/);
私がこれを行うと、本当の問題が発生します。
Enabler disable = new Enabler(!cond); //reverse condition
disable.Enable(/*some code to disable*/); //this makes no sense semantically
だから私はこのようなことをする方法を探しています:
Enabler enable = new Enabler(cond);
Enabler disable = new Enabler(!cond);
// then simply call the method by the object name like this:
enable(/*something to enable*/); //uses the object name as the method name
disable(/*something to disable*/);
これは、負荷を言うよりも意味的に意味のあるものにしますdisable.Enable
これを行う方法はありますか?
ができるのと同じようにthis[]
、 を作ることもできthis()
ますか?