usercontrol和表单上的共享功能

时间:2009-11-24 17:00:31

标签: c# oop

我需要为Forms和UserControls添加共享功能。由于.net不支持多重继承,我想知道我最好如何解决这个问题?

共享功能是由表单或用户控件填充然后处理的字典。

此致

2 个答案:

答案 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继承自基类,你可以将逻辑封装在一个自包含的对象中,这样每个表单都会新建吗?然后你可以在基类中限制实例和与这个对象的交互,希望它是最小的,所以让它完成两次并不是什么大不了的事。