使用代码创建mustoveride函数

Vin*_*ent 3 .net c# vb.net inheritance

我有一个MustInherit类,里面有一些MustOveride方法.当我继承该类的形式时,我会自动获取MustOveride方法或属性.

我的问题是,我希望能够继承一个类,获取我的MustOveride函数和方法,但之后已经有了一些代码.我曾经见过一个.net类,当我从该类继承时,我得到了方法,并在其中添加了一些注释.

有人知道我的意思吗?(这有点难以描述;-))

Zeb*_*ebi 10

我认为你所描述的被称为模板方法模式:

 public abstract class MyClass
 {
      public void SomeMethod()
      {
           // code
           MustInherit();
           // code
      }

      protected abstract void MustInherit();
  }
Run Code Online (Sandbox Code Playgroud)

创建一个不会SomeMethod在此示例中重写的方法,并将所有常用代码填入此类.然后创建一个必须覆盖的抽象方法.

如果要提供默认实现,则不能覆盖该方法,但可以使用该virtual关键字.

 public abstract class MyClass
 {
      public void SomeMethod()
      {
           // code
           MustInherit();
           // code
      }

      protected virtual void CanInherit()
      {
           // default implementation
      }
  }
Run Code Online (Sandbox Code Playgroud)