ContractAbbreviatorAttribute 類別
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義可以取代完整合約語法的縮寫。
public ref class ContractAbbreviatorAttribute sealed : Attribute
C#
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false)]
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public sealed class ContractAbbreviatorAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false)>]
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
type ContractAbbreviatorAttribute = class
inherit Attribute
Public NotInheritable Class ContractAbbreviatorAttribute
Inherits Attribute
- 繼承
- 屬性
下列範例示範如何為數個方法中重複的程式代碼合約建立縮寫名稱。
C#
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();
}
}
Contract |
初始化 ContractAbbreviatorAttribute 類別的新執行個體。 |
Equals(Object) |
傳回值,這個值指出此執行個體是否與指定的物件相等。 (繼承來源 Attribute) |
Get |
傳回這個執行個體的雜湊碼。 (繼承來源 Attribute) |
Get |
取得目前執行個體的 Type。 (繼承來源 Object) |
Is |
在衍生類別中覆寫時,表示這個執行個體的值是衍生類別的預設值。 (繼承來源 Attribute) |
Match(Object) |
在衍生類別中覆寫時,會傳回值,表示這個執行個體是否等於指定物件。 (繼承來源 Attribute) |
Memberwise |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
To |
傳回代表目前物件的字串。 (繼承來源 Object) |
_Attribute. |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
_Attribute. |
擷取物件的類型資訊,可以用來取得介面的類型資訊。 (繼承來源 Attribute) |
_Attribute. |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
_Attribute. |
提供物件所公開的屬性和方法的存取權。 (繼承來源 Attribute) |
產品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
UWP | 10.0 |