C# 从库重写方法

C# 从库重写方法,c#,methods,overriding,virtual,C#,Methods,Overriding,Virtual,我的C#项目引用的库中有一个虚拟方法。如何在应用程序中的另一个类中重写此方法 例如: namespace TheLibary { class SomeClass { public virtual void TheMethod() { //Do Stuff } } } 然后在我的项目中: using theLibary; namespace TheProject { class SomeClass {

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

例如:

namespace TheLibary
{
   class SomeClass
   {
      public virtual void TheMethod()
      {
           //Do Stuff
      }
   }
}
然后在我的项目中:

using theLibary;
namespace TheProject
{
   class SomeClass
   {
       public override <Help>
   }
}
使用图书馆;
项目名称空间
{
上课
{
公共覆盖
}
}

编辑:混乱,完全忘记了这个类不是从库类继承的,把我搞砸了,时间太晚了:)

在开始认真编写代码之前,你应该先研究一下OOP(特别是继承)。为了快速参考,下面是一个如何重写方法的示例:

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

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

您应该注意重写方法的签名(包括其名称)必须相同。另一方面,派生类可能(为了清楚起见,通常应该)有不同的名称。

您可以看到:我知道如何用这种方式重写方法,但我想知道它是否可能来自不同的dll。是的。在上面的示例中,
DerivedClass
可以在不同于
SomeClass
的程序集中定义,前提是
SomeClass
声明为公共。奇怪的是,Im使用XNA来创建我的应用程序,它有一个名为BeginDraw(GameTime)的方法,我的dll Im引用(Neoforce控件)也有一个BeginDraw(游戏时间)您需要从类派生以覆盖其方法。您可以粘贴类声明的外观吗?如:
公共类MyClass:BaseClass
。它是否有一个
后跟另一个类名(基类)?我的dll看起来像公共类Manager:DrawableGameComponent,而我的prodject类看起来像公共类MyGame:Application