2013-10-31 125 views
0

我已经编程Java多年,但现在我正在使用C#。 在创建对象实例时,C#中是否可以重写某个函数? 在Java中,可以这样做:实例C覆盖方法#

View v = new View(this) { 
    @Override 
    protected void onDraw(Canvas canvas) { 
     System.out.println("large view on draw called"); 
     super.onDraw(canvas); 
    } 
}; 

这意味着该物体V将有它的方法“的onDraw” overrided。是否有可能在C#中做到这一点?如果是,如何?

非常感谢!

回答

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); 
     } 
    } 
}