Java中与C#构造函数等效的内容是什么?

3

我不确定我的标题是否正确。忘了这是什么代码。但是在这里我将通过代码进行解释。

在 Java 中,您可以像这样声明一个类:

class Panel extends View {

        public Bitmap mBitmap;

        public Panel(Context context) {
            super(context);
        }
}

在C#中:

class Panel : View
{
     public Panel(Context context)
     {
         base(context);
     }
}

它抛出一个错误。

你怎么在 C# 中声明类构造函数?

3个回答

7

3
在C#中,调用基类构造函数要更加明确(或者说是显式分离)。
虽然在Java中,它看起来只是可以与主体中的其他语句重新排序的任何语句一样,但在C#中,它移动到了常规构造函数体之外。
class Panel : View
{
    public Panel(Context context) : base(context) { }
}

0
在Java中调用基类构造函数的语法与C#类似。主要区别在于Java使用关键字super,而C#使用base(带有冒号)。这些将调用基类构造函数先执行,然后才执行派生类。
class Panel : View
{
     public Panel(Context context) : base(context)
     {
         // ...
     }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接