0

だから私はGameComponentから派生したクラスを持っています。クラス内には、このメソッドが存在します。

public override void Initialize(){
     base.Initialize();
}

人々が同じことをする複数のソースを見てきました。彼らは Initialize メソッドをオーバーライドしますがbase.Initialize、もちろん呼び出し以外の実装はありません。何もしないのになぜメソッドを持っているので、これがわかりませんか?オーバーライド メソッドを含めない場合、GameComponent クラス内の仮想メソッドがデフォルトで呼び出されますよね? 私は文字通りメソッド全体を取り出しましたが、何も変わりませんでした。

簡単に言えば、実装されていないメソッドをオーバーライドするポイントは何ですか?

4

2 に答える 2

0

はい、表示する内容は、オーバーライドしなかった場合とまったく同じです。Resharperは、不要な混乱がないため、実際にはそのようなメソッドを削除することを提案します。

技術的には、オーバーライドして基本メソッドを呼び出すだけでは、「実装なし」ではなく、デフォルトの実装であるか、追加の実装がありません。実装がそれをオーバーライドしてからメソッドをブランクにすることはありません。

public override void Initialize()
{
   // no implementation
}

この場合はそうしたくないでしょうが、したい場合があります。

于 2012-04-13T23:50:41.030 に答える
0

なし。

その理由は、実装方法をガイドするために GameComponent テンプレートに含まれているためです。

于 2012-04-13T06:55:26.537 に答える