9

メモリ、パフォーマンスなどの場合に部分クラスを使用するオーバーヘッドはありますか?

部分的なクラスを作成する場合、リフレクターを使用してクラスが部分的であるかどうかを識別できますか?

4

3 に答える 3

16

いいえ。部分的ではないかのように、同じILにコンパイルされます。これは純粋にコンパイル時のものです。CLRは、それらが部分的であったことすら知りません。

C#3に導入された部分的なメソッドでは、ファイルの1つに実装されていない限り、メソッドはILで発行されないことに注意してください。呼び出しと宣言の両方がコンパイラーによって削除されます。

もちろん、コンパイラの速度が1ミリ秒のわずかな時間になる可能性があります:)

于 2009-06-26T11:36:31.803 に答える
3

いいえ、すべてのクラスファイルはコンパイル時に統合されます。

これが部分型に関するmsdnの記事です。

各ソースファイルには、タイプまたはメソッド定義のセクションが含まれており、アプリケーションのコンパイル時にすべての部分が結合されます。

于 2009-06-26T11:36:29.680 に答える
2

いいえ。それらは1つのクラスにコンパイルされます。これは純粋に言語機能です。

于 2009-06-26T11:36:34.407 に答える