C# 实例C上的重写方法#

C# 实例C上的重写方法#,c#,overriding,instance,C#,Overriding,Instance,我已经编写Java多年了,但现在我正在使用C。 在C#中,创建对象实例时是否可以重写函数? 在Java中,可以执行以下操作: View v = new View(this) { @Override protected void onDraw(Canvas canvas) { System.out.println("large view on draw called"); super.onDraw(canvas); } }; 这意味着对象v

我已经编写Java多年了,但现在我正在使用C。 在C#中,创建对象实例时是否可以重写函数? 在Java中,可以执行以下操作:

View v = new View(this) {
    @Override
    protected void onDraw(Canvas canvas) {
        System.out.println("large view on draw called");
        super.onDraw(canvas);
    }
};
这意味着对象v将覆盖其方法“onDraw”。可以用C#来做吗?如果是,如何进行


非常感谢

您需要在C#中执行相同的操作-创建类的新版本-假设您的原始代码位于类“TestClass”中的方法“testMethod”中:

internal class TestClass : SomeBaseClass
{
    internal virtual void testMethod()
    {
        View v = new ViewAnonymousInnerClassHelper();
    }

    private class ViewAnonymousInnerClassHelper : View
    {
        protected internal override void onDraw(Canvas canvas)
        {
            System.Console.WriteLine("large view on draw called");
            base.onDraw(canvas);
        }
    }
}