我正在尝试编写一个类的方法,该方法应将对象(例如文本框或标签)作为参数,并且每当需要向用户显示消息时,便使用该对象来显示消息。
由于该类将在其他程序中使用,因此它应该具有一点可移植性,并且应该对任何基于文本的对象(例如标签或文本框等)实现功能。
请考虑以下方法:
public void TcpEndPoint(string IP,/* a text-based object */)
{
// There's a need to show a message
// to the user by the text-based object
}
有什么方法可以实现这一目标,还是这种编程不适用于可移植类?
我会选择不同的方法。与其传递文本接收对象,不如使用委托传递文本:
public void TcpEndPoint(string IP, Action<string> setText)
{
setText(message);
}
然后可以使用lambda表达式来调用它:
TcpEndPoint(someIp, t => yourTextBox.Text = t);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句