Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中继承ControlCollection#_C#_Vb.net_Winforms - Fatal编程技术网

C# 如何在C中继承ControlCollection#

C# 如何在C中继承ControlCollection#,c#,vb.net,winforms,C#,Vb.net,Winforms,我在VB.net中有以下代码,需要将其转换为C# 公共类SearchableCollection 继承ControlCollection 公共子新(所有者作为控制) 端接头 末级 当我将其转换为c#时,我得到错误“没有与所需的形式参数所有者相对应的参数” 公共类SearchableCollection:ControlCollection{ 公共SearchableControlCollection(控件所有者){ } } 有什么想法吗?代码中有几个小问题: 您已命名构造函数Searchabl

我在VB.net中有以下代码,需要将其转换为C#

公共类SearchableCollection
继承ControlCollection
公共子新(所有者作为控制)
端接头
末级
当我将其转换为c#时,我得到错误“没有与所需的形式参数所有者相对应的参数”

公共类SearchableCollection:ControlCollection{
公共SearchableControlCollection(控件所有者){
}
}

有什么想法吗?

代码中有几个小问题:

  • 您已命名构造函数
    SearchableControlCollection
    。名称必须与类名
    SearchableCollection
    匹配
  • 您必须通过
    所有者
    传递给
    ControlCollection
    的基类构造函数。添加
    :base(owner)
    将参数传递给父构造函数
  • 以下是工作代码:

    public class SearchableCollection : ControlCollection
    {
        public SearchableCollection(Control owner)
            : base(owner)
        {
    
        }
    }
    

    它不应该是
    公共SearchableCollection(控件所有者){…}
    ?不是
    SearchableControlCollection
    在vb.net中,您使用MyBase(owner)作为语句,但在C#中,您必须在声明中这样做:public SearchableCollection(Control owner):base(owner){…}我建议最好更改类的名称以匹配构造函数,而不是相反
    SearchableControlCollection
    是一个比
    SearchableCollection
    更合适的名称,因为集合是专门用于控件的。@jmchilinney这是一个非常好的观点,我必须承认我假设OP的类名与他们期望的一样您可能是对的,但是评论更多的是针对OP而不是你。C#代码中的类名与VB代码中显示的类名相匹配,但我认为这是一个不合适的名称。@jmchilney基类的名称中包含
    Control
    ,但它在派生类中被删除,同时仍然是一个特定的控件集合。当然,
    SearchableControlCollection
    是一个更好的名称。很抱歉……我在SO questjion中输入了错误的构造函数名称……它在原始代码中是正确的。基本(所有者)部分是我忘记的。