4

ThreadStaticAttribute今朝、C# の記憶をリフレッシュしていたところ、次の行が飛び出しました。

この属性をそのまま使用し、派生させないでください。

この行は .Net Framework のすべてのバージョンのドキュメントにあり、この問題に関する Microsoft 独自のコード分析では、属性が属性の階層の一部になるように設計されている場合にのみ、属性を封印しないままにしておく必要があると述べています。

そのため、ThreadStaticAttributeクラスは現在ではなく、以前も存在していたようには見えませんsealed。なんで?

4

1 に答える 1

2

99%の確率で実行するのは悪い考えであり、1%は素晴らしい考えであることがたくさんあります。

フレームワーク自体を開発していない場合は、悪い考えであることがさらにありますが、誰かがフレームワークで開発する必要があります。

この場合、ThreadStaticAttributeあなたや私が望むよりも、誰かがフレームワークに特別なケースを追加したいと思う可能性が高くなります。

それでもそうは思われないかもしれませんが、彼らは今それを積極的に防ぐべきですか、それとも可能性を開いたままにしておくべきですか?

どちらの方法でも議論することができますが、誰かがその可能性を残しておくことにしました。(または「彼らはただ忘れた」ことを除外することはできませんでした)。

彼らが今それを封印した場合、派生属性で成功した人がそこにいるとしたら、それは壊滅的な変化になることに注意してください。彼らはそれをすべきではないとすでに主張されていても、ほとんどすべての変更には何かを壊すリスクがありますが、それを現状のまま維持することは議論の余地があります。

于 2012-08-29T14:47:20.500 に答える