我需要为Forms和UserControls添加共享功能。由于.net不支持多重继承,我想知道我最好如何解决这个问题?
共享功能是由表单或用户控件填充然后处理的字典。
此致
答案 0 :(得分:3)
public class SharedFunctionality
{
public void ImportantToCallThisOnLoad();
}
public class MyForm : Form
{
SharedFunctionality mySharedFunctionality = new SharedFunctionality();
public void OnLoad()
{
mySharedFunctionality.ImportantToCallThisOnLoad();
}
}
public class MyControl : Control
{
SharedFunctionality mySharedFunctionality = new SharedFunctionality();
public void OnLoad()
{
mySharedFunctionality.ImportantToCallThisOnLoad();
}
}
答案 1 :(得分:1)
而不是使用Forms& UserControls继承自基类,你可以将逻辑封装在一个自包含的对象中,这样每个表单都会新建吗?然后你可以在基类中限制实例和与这个对象的交互,希望它是最小的,所以让它完成两次并不是什么大不了的事。