[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]


我在.NET中的基类库的反射器中看到了此属性。也许内部会支持不可变的保证?

最佳答案

阅读有关herehere的内容。

简短的摘要是,它指示运行时在面对任何异步异常(例如ThreadAbortException)的情况下保证finally块的执行。

在最终执行块时,标准CLR主机将阻止中止线程。

但是,当SQL Server承载CLR时,可能会触发粗鲁的中止,这可能在CLR运行finally子句时发生。在这种情况下,使用CER来确保状态不会损坏。

在CER内部必须满足某些要求(例如,不允许在CER内装箱)。

关于c# - .NET属性有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1100952/

10-11 17:23