有没有办法只向方法添加代码而不在c#中完全重写它?
有没有办法只从子类向方法添加代码,而不完全像c#中的“override”+“virtual”那样重写它。有没有办法只向方法添加代码而不在c#中完全重写它?,c#,overriding,virtual,C#,Overriding,Virtual,有没有办法只从子类向方法添加代码,而不完全像c#中的“override”+“virtual”那样重写它。 我发现自己在重写方法中编写了一些重复的代码。而且不确定该怎么办您可以使用不同机制的override和virtual。比如说, class MyBase { private int MyVar; public virtual void DoStuff(int i , int j) { MyVar = i + j;
我发现自己在重写方法中编写了一些重复的代码。而且不确定该怎么办您可以使用不同机制的override和virtual。比如说,
class MyBase
{
private int MyVar;
public virtual void DoStuff(int i , int j)
{
MyVar = i + j; //This is your common code which is added in base class
}
}
class OverridClass : MyBase
{
private int MyNewCount;
public override void DoStuff(int i, int j)
{
MyNewCount = i + j;
base.DoStuff(i, j); //This is how you reuse your common code and write the code which is more specific to this method
}
}`
在受保护的基类中重构帮助器方法中的公共代码。谢谢,我想出了一个解决方案。原来我没在想。在override方法中,我可以只编写base.MethodName()。然后在以下内容之前或之后添加一些代码:)