FeatureGuardAttribute 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.
Indicates that the specified public static Boolean read-only property guards access to the specified feature.
public ref class FeatureGuardAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=true, Inherited=false)]
public sealed class FeatureGuardAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple=true, Inherited=false)>]
type FeatureGuardAttribute = class
inherit Attribute
Public NotInheritable Class FeatureGuardAttribute
Inherits Attribute
- Inheritance
- Attributes
Examples
if (Feature.IsSupported)
Feature.Implementation();
public class Feature
{
[FeatureGuard(typeof(RequiresDynamicCodeAttribute))]
internal static bool IsSupported => RuntimeFeature.IsDynamicCodeSupported;
[RequiresDynamicCode("Feature requires dynamic code support.")]
internal static Implementation() => ...; // Uses dynamic code
}
When the app is built with <PublishAot>true</PublishAot>
, the call to
Feature.Implementation()
doesn't produce analyzer warning
IL3050
and Feature.Implementation
code is removed when publishing.
Remarks
Analyzers can use this attribute to prevent warnings on calls to code that's annotated as requiring that feature, when the callsite is guarded by a call to the property.
Constructors
FeatureGuardAttribute(Type) |
Initializes a new instance of the FeatureGuardAttribute class with the specified feature type. |
Properties
FeatureType |
The type that represents the feature guarded by the property. |
TypeId |
When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute) |
Methods
Equals(Object) |
Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute) |
GetHashCode() |
Returns the hash code for this instance. (Inherited from Attribute) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
IsDefaultAttribute() |
When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute) |
Match(Object) |
When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |