假设我有一个名为Enabler
的类,我像往常一样创建该类的实例(在半伪 C# 代码中)
bool cond;
Enabler enable = new Enabler(cond);
当我调用 Enabler 的方法时出现问题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
有没有办法做到这一点?
就像可以做 a 一样this[]
,是否也可以做 a this()
of sorts?