【发布时间】:2011-12-17 09:58:03
【问题描述】:
所以我在我的项目中制作了一堆用户控件,它们集成到一个自动跟踪有关它们的某些事情的系统中。但我不确定如何做某个部分而不让它看起来真的很丑。
所有控件都从不同的控件类型(面板、文本框、组合框等)扩展而来,但有几个完全相同的方法。
我想做的是避免这种情况:
public void SendMyMessage(Control thisControl)
{
if(thisControl is myPanel) (thisControl as myPanel).SendMessage();
else if(thisControl is myComboBox) (thisControl as myComboBox).SendMessage();
else if(thisControl is myTextbox) (thisControl as myTextbox).SendMessage();
else if(thisControl is myLabel) (thisControl as myLabel).SendMessage();
}
宁愿有一个更简单的方法,让我在 1 行中调用它。 (注意我调用的 SendMessage() 函数在不同的控件上做不同的事情,但不需要参数并且调用方式相同)
【问题讨论】:
标签: c# reflection user-controls