【发布时间】:2015-01-01 09:18:22
【问题描述】:
我的自定义按钮实际上是一个按钮,所以它违反了 LSP 吗?
class ConditionalButton : Button
{
protected override void OnClick(EventArgs e)
{
if (Condition())
base.OnClick(e);
}
private bool Condition()
{
//return true or false
}
}
【问题讨论】:
-
我不认为它违反了 LSP。但我敢打赌,它违反了用户界面准则。如果
Condition()是False,则禁用该按钮使其无法按下。 -
@JackHughes 我同意你的第二点(用户界面指南)但不同意第一点,因为这显然违反了 LSP。
标签: c# oop solid-principles