今天早上我正在刷新我对 C# 的 ThreadStaticAttribute 的内存,下面一行代码跳到了我的脑海中:



这一行出现在 .Net Framework 的所有版本的文档中,并且微软自己的 code analysis on the issue 指出,只有当属性被设计为属性层次结构的一部分时,才应该保持未密封状态。

所以 - ThreadStaticAttributeis not nowdoes not appear ever to have beensealed 。为什么?

最佳答案

很多事情在 99% 的时间里都是个坏主意,1% 的时候是一个好主意。

如果您不开发框架本身,那么还有更多的事情是个坏主意,但必须有人在框架中。

在这种情况下,与您或我想要的情况相比,更有可能有人想要将 ThreadStaticAttribute 的特殊情况添加到框架中。

即使那可能不太可能,但他们现在应该积极阻止它,还是保持开放的可能性?

你可以以任何一种方式争论,但有人决定保留这种可能性。 (或者不能排除“他们只是忘记了”)。

请注意,如果他们现在确实密封了它,如果有人确实在派生属性方面取得了成功,那将是一个重大变化。即使已经有人争辩说他们不应该这样做,并且即使几乎所有的更改都有破坏某些东西的风险,但保持现状仍然是一个争论。

关于c# - 从 ThreadStaticAttribute 派生子类的原因是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12180369/

10-10 01:50