You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.6 KiB
38 lines
1.6 KiB
5 years ago
|
#if NET20 || NET30 || NET35 || !NET_4_6
|
||
|
|
||
|
// Licensed to the .NET Foundation under one or more agreements.
|
||
|
// The .NET Foundation licenses this file to you under the MIT license.
|
||
|
// See the LICENSE file in the project root for more information.
|
||
|
|
||
|
namespace System.Diagnostics.Contracts
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Instructs downstream tools whether to assume the correctness of this assembly, type or member without performing any verification or not.
|
||
|
/// Can use [ContractVerification(false)] to explicitly mark assembly, type or member as one to *not* have verification performed on it.
|
||
|
/// Most specific element found (member, type, then assembly) takes precedence.
|
||
|
/// (That is useful if downstream tools allow a user to decide which polarity is the default, unmarked case.)
|
||
|
/// </summary>
|
||
|
/// <remarks>
|
||
|
/// Apply this attribute to a type to apply to all members of the type, including nested types.
|
||
|
/// Apply this attribute to an assembly to apply to all types and members of the assembly.
|
||
|
/// Apply this attribute to a property to apply to both the getter and setter.
|
||
|
/// </remarks>
|
||
|
[Conditional("CONTRACTS_FULL")]
|
||
|
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Property)]
|
||
|
public sealed class ContractVerificationAttribute : Attribute
|
||
|
{
|
||
|
private readonly bool _value;
|
||
|
|
||
|
public ContractVerificationAttribute(bool value)
|
||
|
{
|
||
|
_value = value;
|
||
|
}
|
||
|
|
||
|
public bool Value
|
||
|
{
|
||
|
get { return _value; }
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif
|