今天早上我正在刷新我对 C# 的 ThreadStaticAttribute
的内存,下面一行代码跳到了我的脑海中:
这一行出现在 .Net Framework 的所有版本的文档中,并且微软自己的 code analysis on the issue 指出,只有当属性被设计为属性层次结构的一部分时,才应该保持未密封状态。
所以 - ThreadStaticAttribute
类 is not now 和 does not appear ever to have been , sealed
。为什么?
最佳答案
很多事情在 99% 的时间里都是个坏主意,1% 的时候是一个好主意。
如果您不开发框架本身,那么还有更多的事情是个坏主意,但必须有人在框架中。
在这种情况下,与您或我想要的情况相比,更有可能有人想要将 ThreadStaticAttribute
的特殊情况添加到框架中。
即使那可能不太可能,但他们现在应该积极阻止它,还是保持开放的可能性?
你可以以任何一种方式争论,但有人决定保留这种可能性。 (或者不能排除“他们只是忘记了”)。
请注意,如果他们现在确实密封了它,如果有人确实在派生属性方面取得了成功,那将是一个重大变化。即使已经有人争辩说他们不应该这样做,并且即使几乎所有的更改都有破坏某些东西的风险,但保持现状仍然是一个争论。
关于c# - 从 ThreadStaticAttribute 派生子类的原因是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12180369/