AvailabilityAttribute Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Caution
Use [Introduced|Deprecated|Obsoleted|Unavailable] attributes with PlatformName.
Describes the availability of a member or type in iOS or macOS.
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true)]
[System.Obsolete("Use [Introduced|Deprecated|Obsoleted|Unavailable] attributes with PlatformName.")]
public class AvailabilityAttribute : Attribute
type AvailabilityAttribute = class
inherit Attribute
- Inheritance
-
AvailabilityAttribute
- Derived
- Attributes
Remarks
This attribute is used to annotate when a type or member of a type was introduced, deprecated, obsolete or is unavailable. This is done on a per-platform basis (currently macOS and iOS).
The information is only accurate for active versions of the operating systems, the information is removed as soon as operating systems are deprecated or no longer supported by Apple.
It is the managed equivalent of Clang's availability __attribute__, which is the underlying mechanism that Apple uses to perform these annotations.
This attribute is obsolete, it's superceded by IntroducedAttribute, DeprecatedAttribute, ObsoletedAttribute and UnavailableAttribute (which support tvOS and watchOS as well).
Constructors
AvailabilityAttribute() |
Default constructor, sets not availability. |
AvailabilityAttribute(Platform, Platform, Platform, Platform) |
Defines the availability range of a particular API. |
Properties
AlwaysAvailable |
Indicates that the member or type can be assumed to always be available (on both macOS and iOS, as well as every version that is currently supported). |
Deprecated |
The first version in which the API was deprecated for a given platform; this means users should begin avoiding the API and migrating to a more suitable one, but it still technically works on the platform, but there is no guarantee for how long it will continue to work. |
DeprecatedArchitecture |
Indicates the platforms on which the member or type has been deprecated. |
DeprecatedVersion |
Indicates the platforms on which the member or type has been deprecated. |
Introduced |
The first version in which an API was introduced for a given platform. |
IntroducedArchitecture |
The architectures on which the introduced version applies to. |
IntroducedVersion |
Indicates the versions on API the feature was introduced. |
Message |
The message describing any limitations. |
Obsoleted |
The first version in which the API was obsoleted from a given platform |
ObsoletedArchitecture |
The architectures the obsoleted version applies to. |
ObsoletedVersion |
Indicates the version in which the API was obsoleted. |
Unavailable |
The API does currently not exist on a given platform. |
Methods
Get(MemberInfo) |
Convenience method to fetch the AvailabilityAttribute from a MemberInfo. |
Merge(IEnumerable<Object>) |
Returns an availability attribute that is made up of the merged Introduced, Obsoleted, Deprecated and Unavailable properties (including a concatenated version of the message attribute). |
ToString() |
Returns a human readable version of the availability attribute. |