最好的解决方法是什么?我在演示者中有一个使用switch语句填充各种文本框的方法,但也需要确保只有这些文本框可见,例如:
switch (operation.CalculationType) {
case CalcType.Type1:
textbox1.Visible = true
_view.TextBox1 = "some value";
break;
case CalcType.Type2:
textbox1.Visible = true;
textbox2.Visible = true;
_view.TextBox1 = "some value";
_view.TextBox2 = "another value";
break;
我不喜欢为表单上的每个控件公开Visible
属性的想法(理论上这可能导致暴露各种属性,这对我来说似乎是错误的)。我的另一个想法是创建一个演示者调用的方法或事件,告诉表单显示/隐藏控件,但这意味着复制演示者中的逻辑。
那么做这件事的“正确”方式是什么?
由于
答案 0 :(得分:0)
如果变量_view不是接口,则应将其设为1,实现它,然后添加一个或多个方法来设置哪些文本框可见。通过这种方式,您可以在代码中清楚地了解您要执行的操作,而不是与特定的表单实现相关联。
Inteface IFormView
Sub DisplayType1
Sub DisplayType2
....
End Interface