ContractClassForAttribute(Type) 构造函数   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 ContractClassForAttribute 类的新实例,并指定使用当前类作为协定的类型。
public:
 ContractClassForAttribute(Type ^ typeContractsAreFor);public ContractClassForAttribute (Type typeContractsAreFor);new System.Diagnostics.Contracts.ContractClassForAttribute : Type -> System.Diagnostics.Contracts.ContractClassForAttributePublic 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);
    }
}