[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
我在.NET中的基类库的反射器中看到了此属性。也许内部会支持不可变的保证?
最佳答案
阅读有关here和here的内容。
简短的摘要是,它指示运行时在面对任何异步异常(例如ThreadAbortException)的情况下保证finally块的执行。
在最终执行块时,标准CLR主机将阻止中止线程。
但是,当SQL Server承载CLR时,可能会触发粗鲁的中止,这可能在CLR运行finally子句时发生。在这种情况下,使用CER来确保状态不会损坏。
在CER内部必须满足某些要求(例如,不允许在CER内装箱)。
关于c# - .NET属性有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1100952/