mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
namespace System.Diagnostics.CodeAnalysis;
|
|
|
|
/// <summary>
|
|
/// Indicates that the specified method requires dynamic access to code that is not referenced
|
|
/// statically, for example through <see cref="Reflection"/>.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// This allows tools to understand which methods are unsafe to call when removing unreferenced
|
|
/// code from an application.
|
|
/// </remarks>
|
|
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class, Inherited = false)]
|
|
[ExcludeFromCodeCoverage]
|
|
internal sealed class RequiresUnreferencedCodeAttribute : Attribute
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="RequiresUnreferencedCodeAttribute"/> class
|
|
/// with the specified message.
|
|
/// </summary>
|
|
/// <param name="message">
|
|
/// A message that contains information about the usage of unreferenced code.
|
|
/// </param>
|
|
public RequiresUnreferencedCodeAttribute(string message)
|
|
{
|
|
this.Message = message;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets a message that contains information about the usage of unreferenced code.
|
|
/// </summary>
|
|
public string Message { get; }
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public string? Url { get; set; }
|
|
}
|