1

我一直在尝试将我所有的类编译成一个类库,这是一个非常好的特性。我的目标是在其中包含不包含特定应用程序代码的所有代码。当我尝试添加一个引用父表单的类时,我遇到了问题,因为类库中没有父表单。如何创建对在应用程序中创建父类之前未知的表单的引用?

public class Form1 : Form
{

private Child child;

public Form1()
{
    child = new Child(this);
}


}


public class Child
{


    private Form1 parent;
    public Child(Form1 parent)
    {
        this.parent = parent;
    }


}

此代码在标准应用程序中工作,但是当我将 Child 类添加到类库时,“Form1”文本将无法编译,因为 Form1 不包含在类库中。有没有办法解决?感谢您的任何帮助。

4

1 回答 1

1

由于Form1派生自Form,为什么不将Form其作为构造函数的参数Child

public class Child
{
    private Form parent;
    public Child(Form parent)
    {
        this.parent = parent;
    }
}

这至少会打破你的类库对你的应用程序的依赖,但它仍然需要对 WinForms 的依赖Form。这取决于您打算parent在代码中做什么,但这是否足够。

于 2013-04-04T12:27:42.670 回答