从ThreadStaticAttribute派生子类的原因是什么?

时间:2012-08-29 14:32:35

标签: c# threadstatic

今天早上,我在C#的ThreadStaticAttribute上回忆起我的记忆,下面的一句话突然出现在我面前:

  

按原样使用此属性,不要从中派生。

这一行存在于.Net Framework的所有版本的文档中,而Microsoft自己的code analysis on the issue表明,如果属性被设计为属性层次结构的一部分,那么这些属性只能保持未密封。

所以 - ThreadStaticAttribute班级is not nowdoes not appear ever to have beensealed。为什么呢?

1 个答案:

答案 0 :(得分:2)

有很多事情在99%的情况下都是不好的想法,而且1%的好主意。

如果你不是在开发框架本身,还有更多的事情是不好的事情,但有人必须在框架中。

在这种情况下,有人可能希望在框架中添加ThreadStaticAttribute的特殊情况,而不是您或我想要的情况。

即使这可能不是那么可能,但是他们现在应该积极地阻止它,还是让这种可能性开放?

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

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