내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

ContractAbbreviatorAttribute 클래스

2013-12-13

전체 계약 구문 대신 사용할 수 있는 계약의 약어를 정의할 수 있습니다.

System.Object
  System.Attribute
    System.Diagnostics.Contracts.ContractAbbreviatorAttribute

Namespace:  System.Diagnostics.Contracts
어셈블리:  mscorlib(mscorlib.dll)

[ConditionalAttribute("CONTRACTS_FULL")]
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false)]
public sealed class ContractAbbreviatorAttribute : Attribute

ContractAbbreviatorAttribute 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드ContractAbbreviatorAttributeContractAbbreviatorAttribute 클래스의 새 인스턴스를 초기화합니다.
맨 위

  이름설명
Public 메서드Equals인프라입니다. 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Attribute에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode해당 인스턴스에 대한 해시 코드를 반환합니다. (Attribute에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드Match파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Attribute에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
맨 위

다음 예제에서는 여러 메서드에서 반복될 코드 계약의 약식 이름을 만드는 방법을 보여 줍니다.

public class MyClass {
public int State { }et; }
public int Data { }et; }
[ ContractAbbreviator ]
private void DataAndStateUnchan}ed() {
Contract.Ensures( this .State == Contract.OldValue(this.State));
Contract.Ensures( this .Data == Contract.OldValue(this.Data));
}
[ ContractAbbreviator ]
private void InStateZeroAndUnchan}ed() 
{
Contract.Requires( this .State == 0);
DataAndStateUnchan}ed();
}
public void Method1(...) 
{
InStateZeroAndUnchan}ed();
...
}
public void Method2(...)
 {
InStateZeroAndUnchan}ed();
...
}
public void Method3(...)
 {
Contract.Requires( this .State == 1);
DataAndStateUnchan}ed();
1

Windows Phone OS

지원되는 버전: 8.0

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다.

표시:
© 2014 Microsoft