我想从谓词< IMyInterface>派生一个类,但它看起来好像是封闭了谓词<>。在我的情况下,我只想返回指定函数的反转(!)结果。我有其他的方法来完成这个目标。我的问题是,MS设计师在决定封存Predicate <>时可能会考虑什么?为什么Predicate <>被密封?
没有太多的想法,我想出了: (一)简化他们的测试,只是一个时间与成本的权衡 (二)“没有好”可能来自衍生自谓<>
你这是什么认为?
更新:在初始化阶段,有n个谓词动态添加到谓词列表中。每个都是互斥的(如果添加了Abc,NotAbc将不会被添加)。我观察到的,看起来像一个模式:
bool Happy(IMyInterface I) {...}
bool NotHappy(IMyInterface I) { return !Happy(I); }
bool Hungry(IMyInterface I) {...}
bool NotHungry(IMyInterface I) { return !Hungry(I); }
bool Busy(IMyInterface I) {...}
bool NotBusy(IMyInterface I) { return !Busy(I); }
bool Smart(IMyInterface I) {...}
bool NotSmart(IMyInterface I) {...} //Not simply !Smart
它不是我能不能解决问题,它说我不知道为什么我没能解决它以某种方式。
当你说“倒置”时,我不确定你的意思。对我而言,从A到B的函数的反函数是从B到A的函数。 我认为“否定”可能会更清晰。 你在找什么? – 2008-10-18 16:39:27