Table of contents
Collapse the table of content
Expand the table of content

Core.ComparisonConditionalOnAttribute Class (F#)

Den Delimarsky|Last Updated: 8/18/2017
1 Contributor

Indicates that a generic type satisfies the comparison constraint if and only if the type argument satisfies this constraint.

Namespace/Module Path: Microsoft.FSharp.Core

Assembly: FSharp.Core (in FSharp.Core.dll)


[<AttributeUsage(AttributeTargets.GenericParameter, AllowMultiple = false)>]
type ComparisonConditionalOnAttribute =
new ComparisonConditionalOnAttribute : unit -> ComparisonConditionalOnAttribute


This attribute is used to indicate a generic container type satisfies the F# comparison constraint only if a generic argument also satisfies this constraint. For example, adding this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports comparison if the type X also supports comparison and all other conditions for C<X> to support comparison are also met. The type C<'T> can still be used with other type arguments, but a type such as C<(int -> int)> will not support comparison because the type (int -> int) is an F# function type and does not support comparison.

This attribute will be ignored if it is used on the generic parameters of functions or methods.

You can also use the short form of the name, ComparisonConditionalOn.


newCreates an instance of the attribute.


Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Version Information

F# Core Library Versions

Supported in: 2.0, 4.0, Portable

See Also

Microsoft.FSharp.Core Namespace (F#)

© 2020 Microsoft