ContractAbbreviatorAttribute Class
Defines abbreviations that you can use in place of the full contract syntax.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | ContractAbbreviatorAttribute() | Initializes a new instance of the ContractAbbreviatorAttribute class. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.) |
![]() | GetHashCode() | Returns the hash code for this instance.(Inherited from Attribute.) |
![]() | GetType() | |
![]() | IsDefaultAttribute() | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.) |
![]() | Match(Object^) | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.) |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | _Attribute::GetIDsOfNames(Guid%, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.) |
![]() ![]() | _Attribute::GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.) |
![]() ![]() | _Attribute::GetTypeInfoCount(UInt32%) | Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.) |
![]() ![]() | _Attribute::Invoke(UInt32, Guid%, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Provides access to properties and methods exposed by an object.(Inherited from Attribute.) |
The following example demonstrates how to create abbreviated names for code contracts that are repeated in several methods.
using System.Diagnostics.Contracts; public class MyClass { public int State { get; } public int Data { get; } [ ContractAbbreviator ] private void DataAndStateUnchanged() { Contract.Ensures( this .State == Contract.OldValue(this.State)); Contract.Ensures( this .Data == Contract.OldValue(this.Data)); } [ ContractAbbreviator ] private void InStateZeroAndUnchanged() { Contract.Requires( this.State == 0); DataAndStateUnchanged(); } public void Method1(...) { InStateZeroAndUnchanged(); ... } public void Method2(...) { InStateZeroAndUnchanged(); ... } public void Method3(...) { Contract.Requires(this .State == 1); DataAndStateUnchanged(); } }
Available since 8
.NET Framework
Available since 4.5
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



