父级不包含带有0个参数的构造函数

时间:2018-07-08 16:21:39

标签: c# android xamarin uwp

我的代码是

 namespace classlibrary
 {
   public class numerictext : EditText
    {
      //My code

    } 

当我尝试继承类库中的编辑文本控件时,出现错误:父级不包含带有0个参数的构造函数。我理解的问题是Parent没有带有0参数的构造函数。但是如何继承类库中的控件?

3 个答案:

答案 0 :(得分:1)

对于任何基于Android的View子类,您需要提供调用其基础对象构造函数的三个构造函数,即:

public class MyView : EditText
{
    public MyView(Context context) : base(context) { }
    public MyView(Context context, IAttributeSet attrs) : base(context, attrs) { }
    public MyView(Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle) { }

    // your override code....
}

答案 1 :(得分:0)

您需要在派生类中调用基本构造函数之一。假设您使用的是Android EditText小部件:

public class numerictext : EditText
{
    public numerictext(Context context) : base(context)
                                      //^^^^^^^^^^^^^^^ 
                                      //Note how we are now calling the base constructure
    {
        //empty or you can add your own code
    }

    public numerictext(Context context, IAttributeSet attrs) : base(context, attrs)
    {
    }

    //etc
} 

答案 2 :(得分:-3)

您是否考虑过将EditText更改为:

public class EditTtext 
{
   data stuff..
   EditText() {}

   other functions
}

尽管我不明白您的为什么不按原样工作