我已经编程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#中执行此操作?如果有,怎么样?
非常感谢!
答案 0 :(得分:0)
您需要在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);
}
}
}