c# - ReliabilityContractAttribute 有什么作用?

标签 c# .net vb.net attributes

它能做任何事情还是仅用于文档。如果仅用于文档,为什么文档不记录它?

比如System.Array的这两个静态方法:

[ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
public static void Copy(Array sourceArray, Array destinationArray, int length)

[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public static void ConstrainedCopy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length)

他们生成的 MSDN 文档甚至没有提到 CopyConstrainedCopy有注释。

最佳答案

我相信它们也用于受限执行区域,因此 CLR 知道它可以安全地做什么。您的代码在 CER 中无法执行某些操作,作为返回,CLR 保证不会引发某些带外异常。

MSDN有更多细节。

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

相关文章:

c# - ClosedXML:导出到 Excel 不下载文件 MVC 4

c# - 方法类型重载

c# - 日期时间解析

c# - 如何让 WinForms 应用程序进入全屏模式

C#:如何检查列表的大小和元素是否相同?

c# - 如何缓存 HttpResponseMessage 返回的图像

.net - 单例以促进遗留代码库中的单元测试。好主意与否?

javascript - 强制 Web 应用程序以 IE8 兼容模式运行

xml - 在 VB.NET 中使用 LINQ to XML 更新 XML 元素

vb.net - 在 VB.NET 中拆分字符串