C# ReliabilityContractAttribute做什么?
它是否有任何作用,或者只是用于文档。如果它只用于文档,为什么文档不记录它 例如,C# ReliabilityContractAttribute做什么?,c#,.net,vb.net,attributes,C#,.net,Vb.net,Attributes,它是否有任何作用,或者只是用于文档。如果它只用于文档,为什么文档不记录它 例如,System.Array的这两个静态方法: [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public static void Copy(Array sourceArray, Array destinationArray, int length) [ReliabilityContract(Consistency.WillNotC
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文档甚至没有提到这一点,也没有注释。来源:
ReliabilityContractAttribute
属性为您提供了一种机制
记录您的代码,并指示
什么类型的可靠性保证
你可以面对
可能导致
可能导致不一致的
国家。在这方面,例外情况
条件定义为异步
可在以下位置生成的异常:
使用公共语言运行时
运行时,例如中止的线程,
内存不足的情况,以及堆栈
溢出。你可以申请
可靠性ContractAttribute属性
到程序集、类型和方法
将此属性与
一致性枚举以定义
可靠性合同的文件化
系统的可靠性水平
特定的代码段
我相信它们也用于受约束的执行区域,所以CLR知道它可以安全地执行什么。有些事情是您的代码在CER中无法完成的,作为回报,CLR保证不会抛出某些带外异常
有更多细节。有。我读过这个。那么,为什么这个文档被忽略了?@PavelMayorov:链接到一个看起来合理的MSDN页面;我不知道MSDN杂志页面是否仍然存在。