2009-04-14 2 views
8

아무것도 수행하지 않거나 문서화만을위한 것입니까? 설명서 만있는 경우 설명서에 설명서가없는 이유는 무엇입니까? System.ArrayReliabilityContractAttribute는 무엇을합니까?

예를 들어

,이 두 개의 정적 방법 :

[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 문서도 Copy 또는 ConstrainedCopy이 주석 것을 언급하지 않습니다. MSDN에서

답변

8

제한된 실행 영역에도 사용되는 것으로 알고 있으므로 CLR은 안전하게 수행 할 수있는 작업을 알고 있습니다. 코드에서 CER 내에서 수행 할 수없는 작업이 있으며, 대신 CLR은 특정 대역 외 예외가 발생하지 않도록 보장합니다.

MSDN에는 몇 가지 세부 정보가 있습니다.

+0

예. 이거 야. – Prankster

+0

링크가 깨졌습니다. –

+0

@PavelMayorov : 합리적인 MSDN 페이지에 링크되었습니다. MSDN * magazine * 페이지가 여전히 어딘가에 존재하는지 여부는 알 수 없습니다. –

2

다음 ReliabilityContractAttribute 속성은 당신 이 코드를 문서화하고, 당신이 예외적 인 상황에 직면 할 수 신뢰성 보장 어떤 종류의 을 표시하는 메커니즘을 제공

그 수 은 잠재적으로 일관성이없는 상태가됩니다. 이러한 맥락에서, 뛰어난 조건 등의 중단 스레드, 메모리 부족 상황 등의 공용 언어 런타임 런타임에 생성 할 수 비동기 예외로 정의하고, 오버 플로우 스택된다. 유형 ReliabilityContractAttribute 속성 을 어셈블리, 유형 및 메서드에 적용 할 수 있습니다.

사용 일관성이 열거 속성 코드 특정 부분의 신뢰성의 레벨을 문서화하여 신뢰성 계약을 정의한다.

+0

예. 나는 이것을 읽었다. 그렇다면 왜이 문서가 무시됩니까? – Prankster