[Serializable]をクラスに追加すると、パフォーマンスに影響がありますか?
-
05-07-2019 - |
質問
パフォーマンスに非常に敏感なクラスに[Serializable]属性を追加する必要があります。
この属性は、クラスの動作にパフォーマンスに影響しますか?
解決
属性クラスのインスタンスは、最初にアクセスされたときにのみ作成されます。その特定のクラスでシリアル化を行わない場合、 SerializableAttribute()
コンストラクターは呼び出されないため、パフォーマンスの問題は発生しません。
属性コンストラクターに関する興味深い記事を次に示します。 http://www.codingonthetrain.com/2008/10/attribute-constructors.html
他のヒント
属性はメタデータアノテーションであるため、実行時にクラスを異なる方法で処理する特定の方法で解釈されない限り、実行時にクラスに重みを追加しません。
[Serializable]は、クラスがシリアル化可能で、効果がなく、ランタイムがクラスを特別な方法で処理しないことを示すための規則として使用される単なるマーカー属性です。
所属していません StackOverflow