ContractClassForAttribute(Type) 构造函数

定义

初始化 ContractClassForAttribute 类的新实例,并指定使用当前类作为协定的类型。

public:
 ContractClassForAttribute(Type ^ typeContractsAreFor);
public ContractClassForAttribute (Type typeContractsAreFor);
new System.Diagnostics.Contracts.ContractClassForAttribute : Type -> System.Diagnostics.Contracts.ContractClassForAttribute
Public Sub New (typeContractsAreFor As Type)

参数

typeContractsAreFor
Type

使用当前类作为协定的类型。

注解

下面的示例演示如何使用 ContractClassAttribute 构造函数指定 类型中的协定应用于 IArray 接口。 此代码示例是为 ContractClassAttribute 类提供的一个更大示例的一部分。

[ContractClassFor(typeof(IArray))]
internal abstract class IArrayContract : IArray
{
    int IArray.Add(Object value)
    {
        // Returns the index in which an item was inserted.
        Contract.Ensures(Contract.Result<int>() >= -1);
        Contract.Ensures(Contract.Result<int>() < ((IArray)this).Count);
        return default(int);
    }
    Object IArray.this[int index]
    {
        get
        {
            Contract.Requires(index >= 0);
            Contract.Requires(index < ((IArray)this).Count);
            return default(int);
        }
        set
        {
            Contract.Requires(index >= 0);
            Contract.Requires(index < ((IArray)this).Count);
        }
    }
    public int Count
    {
        get
        {
            Contract.Requires(Count >= 0);
            Contract.Requires(Count <= ((IArray)this).Count);
            return default(int);
        }
    }

    void IArray.Clear()
    {
        Contract.Ensures(((IArray)this).Count == 0);
    }

    void IArray.Insert(int index, Object value)
    {
        Contract.Requires(index >= 0);
        Contract.Requires(index <= ((IArray)this).Count);  // For inserting immediately after the end.
        Contract.Ensures(((IArray)this).Count == Contract.OldValue(((IArray)this).Count) + 1);
    }

    void IArray.RemoveAt(int index)
    {
        Contract.Requires(index >= 0);
        Contract.Requires(index < ((IArray)this).Count);
        Contract.Ensures(((IArray)this).Count == Contract.OldValue(((IArray)this).Count) - 1);
    }
}

适用于