如何做一个可冻结的UserControl

本文关键字:UserControl 冻结 何做一 | 更新日期: 2023-09-27 18:06:49

我的问题是,我必须从FreezeObject和UserControl派生,多重继承是不可能的。

如何做一个可冻结的UserControl

实现此功能的方法之一是为第二个类创建一个要继承的接口。假设UserControl是当前类,我们希望它实现FreezeObject功能。现在我们只需添加一个接口。

IGetFreezeObject
{
    FreezeObject GetFreezeObject()
}

让UserControl实现接口,并让UserControl返回一个对象,该对象代表UserControl的FreezeObject功能部分。

我看到的最多的是,返回的FreezeObject是UserControl的一个简单包装,它只是将FreezeObject函数调用直接传递给UserControl函数。

如果FreezeObject实现了很多你需要的功能,而不是UserControl,你必须检查如何在你自己的包装类中"转发"那个功能。这可能不是一个简单的解决方案。