メソッドと GUI コントロールをカスタム属性で装飾したいと考えています。属性がメモリをどのように消費するか、またはアプリケーションのパフォーマンスにどのように影響するかを知りたいです。属性のライフサイクルとは何ですか。メソッド、プロパティ、および独自のカスタム属性を持つクラスのオブジェクトを意味します。インスタンス化されてから破棄されます。すべてのカスタム属性インスタンスもオブジェクトの分解で破棄される場合、またはそれらはまだメモリに残りますか?
1432 次
1 に答える
5
属性はオブジェクトインスタンスではなくタイプに存在するため、属性インスタンスの有効期間はオブジェクトインスタンスの有効期間とは関係ありません。
頻繁に使用されるコードで同じ属性にアクセスするためにリフレクションを繰り返し使用する場合、コードでの属性の頻繁な使用はボトルネックになる可能性があります。これは、キャッシュによって簡単に修正できます。キャッシュする正確な方法とタイミングは、アプリケーションと環境によって異なります。
ただし、一般的に、属性は一般的なプログラミングシナリオに対する優れたソリューションを提供し、適切に使用された場合、メモリやパフォーマンスのボトルネックは発生しません。
于 2011-05-28T02:15:10.633 に答える