库中的覆盖方法

Cyr*_*ral 3 c# methods virtual overriding

我的C#项目引用的库中有一个虚拟方法。如何在应用程序的另一个类中重写此方法?

例:

namespace TheLibary
{
   class SomeClass
   {
      public virtual void TheMethod()
      {
           //Do Stuff
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的项目中:

using theLibary;
namespace TheProject
{
   class SomeClass
   {
       public override <Help>
   }
}
Run Code Online (Sandbox Code Playgroud)

编辑:混乱,并且完全忘记了该类没有从库类继承而来,这让我很困惑,这已经太晚了:)

Dou*_*las 5

在进行任何认真的编码之前,您应该先研究一下有关OOP(尤其是继承)的知识。为了快速参考,下面是一个如何重写方法的示例:

namespace TheDll
{
    public class SomeClass
    {
        public virtual void TheMethod()
        { }
    }
}

namespace TheProject
{
    public class DerivedClass : SomeClass
    {
        public override void TheMethod()
        { }
    }
}
Run Code Online (Sandbox Code Playgroud)

您应注意,覆盖方法的签名(包括其名称)必须相同。另一方面,派生类可以(为了清楚起见,通常应以不同的方式命名)。