2012-04-07 13 views
3

私のC#プロジェクトが参照するライブラリには仮想メソッドがあります。アプリケーション内の別のクラスでこのメソッドをオーバーライドするにはどうすればよいですか?ライブラリからのメソッドのオーバーライド

例:私のプロジェクトで次に

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

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

編集:混乱と完全に、私を台無しに、このクラスは、ライブラリクラスから継承していなかったこと、それはして忘れます遅い:

+0

あなたは見ることができます: sarwar026

答えて

4

深刻なコードに落ちる前に、OOP(と特に継承)について少し勉強してください。クイックリファレンスのために、ここでメソッドをオーバーライドする方法の例です:

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

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

あなたは(その名を含む)オーバーライドするメソッドの署名が同じでなければならないことを確認する必要があります。一方、派生したクラスは、(そして、典型的には、明確にするために)異なる名前を付けてもよい。

+1

Iその方法をオーバーライドする方法を理解していますが、別のDLLから可能かどうか疑問に思っています。 – Cyral

+0

はい。上記の例では、 'SomeClass'がpublicとして宣言されている場合、' DerClasses'とは異なるアセンブリで 'DerivedClass'を定義することができます。 – Douglas

+0

これは私のアプリケーションを作るためにXNAを使っているのですが、BeginDraw(GameTime)というメソッドがあり、私のdllを参照する(Neoforce Controls)もBeginDraw(gameTime)を持っています – Cyral

関連する問題