首页 > 解决方案 > 类型“B”没有带有类型参数的构造函数?

问题描述

我有一堂课A。在创建类 A 时,我必须运行类B(并将实例A作为参数传递)但是在运行时,我得到一个错误,我无法初始化对象?是什么原因以及如何解决?

具体例子:

public class A: UserControl
{
    private A ()
    {
      InitializeComponent ();
    }

    private void InitializeComponent ()
    {
        B _B1 = new B (this); // error: Type 'B' does not have a constructor with parameters of types
    }
}

public class B
{
    private class A _classA;
    public B (class A a1)
    {
        _classA = a1;
    }
}    

标签: c#constructor

解决方案


像这样定义你的 B 类。你没有用class.

public class B
{
    private A _classA;
    public B(A a1)
    {
        _classA = a1;
    }
}

即使这样,一旦你像这样初始化你的 Class B,你将需要另一个方法或属性来检索_classA. (public A ClassA => _classA;也许。)


推荐阅读