50 lines
2.0 KiB
C#
50 lines
2.0 KiB
C#
#region Copyright notice and license
|
|
// Protocol Buffers - Google's data interchange format
|
|
// Copyright 2015 Google Inc. All rights reserved.
|
|
//
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file or at
|
|
// https://developers.google.com/open-source/licenses/bsd
|
|
#endregion
|
|
|
|
#if !NET5_0_OR_GREATER
|
|
// Copied with permission from https://github.com/dotnet/runtime/tree/8fbf206d0e518b45ca855832e8bfb391afa85972/src/libraries/System.Private.CoreLib/src/System/Diagnostics/CodeAnalysis
|
|
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="System.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)]
|
|
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)
|
|
{
|
|
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; }
|
|
}
|
|
}
|
|
#endif
|