从库中覆盖方法

时间:2012-04-07 19:12:17

标签: c# methods override virtual

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

示例:

namespace TheLibary
{
   class SomeClass
   {
      public virtual void TheMethod()
      {
           //Do Stuff
      }
   }
}

然后在我的项目中:

using theLibary;
namespace TheProject
{
   class SomeClass
   {
       public override <Help>
   }
}

编辑:混乱并完全忘记这个类没有从库类中继承,搞砸了我,已经很晚了:)

1 个答案:

答案 0 :(得分:4)

在进行任何严肃的编码之前,您应该先研究一下OOP(特别是继承)。为了快速参考,这是一个如何覆盖方法的示例:

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

namespace TheProject
{
    public class DerivedClass : SomeClass
    {
        public override void TheMethod()
        { }
    }
}

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