// Copyright (c) Microsoft. All rights reserved. namespace System.Diagnostics.CodeAnalysis; /// /// Indicates that the specified method requires dynamic access to code that is not referenced /// statically, for example through . /// /// /// This allows tools to understand which methods are unsafe to call when removing unreferenced /// code from an application. /// [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class, Inherited = false)] [ExcludeFromCodeCoverage] internal sealed class RequiresUnreferencedCodeAttribute : Attribute { /// /// Initializes a new instance of the class /// with the specified message. /// /// /// A message that contains information about the usage of unreferenced code. /// public RequiresUnreferencedCodeAttribute(string message) { this.Message = message; } /// /// Gets a message that contains information about the usage of unreferenced code. /// public string Message { get; } /// /// Gets or sets an optional URL that contains more information about the method, /// why it requires unreferenced code, and what options a consumer has to deal with it. /// public string? Url { get; set; } }