你对转发的看法是什么?它是否总是错误的,或者是否存在可接受的情况,甚至是优选的还是需要的?
我们可以给出一些好的衡量标准/指导方针,告诉我们什么时候预测是"邪恶的",什么时候"好"/"好"?
(我知道存在类似的问题,但这个问题从一个具体案例中消失了.我想从一般设计的角度来回答它.)
不,这绝对不是总是错的.
例如,假设在C#中你有一个事件处理程序 - 它被赋予一个sender参数,代表事件的发起者.现在您可以将该事件处理程序连接到多个按钮,但您知道它们始终是按钮.这是合理的施放sender到Button该代码中.
这只是一个例子 - 还有很多其他的例子.有时它仅仅是一种略微笨拙的API的方法,有时它是因为无法在普通类型系统中干净地表达类型.例如,您可能具有Dictionary<Type, object>适当的封装,使用通用方法来添加和检索值 - 其中条目的值是键的类型.演员阵容在这里完全自然 - 您可以看到它始终有效,并且它为系统的其他部分提供了更多的类型安全性.