File: DynamicallyAccessedMemberTypes.cs
Web Access
Project: src\src\tools\illink\src\ILLink.RoslynAnalyzer\ILLink.RoslynAnalyzer.csproj (ILLink.RoslynAnalyzer)
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
 
namespace System.Diagnostics.CodeAnalysis
{
	/// <summary>
	/// Specifies the types of members that are dynamically accessed.
	///
	/// This enumeration has a <see cref="FlagsAttribute"/> attribute that allows a
	/// bitwise combination of its member values.
	/// </summary>
	[Flags]
	public enum DynamicallyAccessedMemberTypes
	{
		/// <summary>
		/// Specifies no members.
		/// </summary>
		None = 0,
 
		/// <summary>
		/// Specifies the default, parameterless public constructor.
		/// </summary>
		PublicParameterlessConstructor = 0x0001,
 
		/// <summary>
		/// Specifies all public constructors.
		/// </summary>
		PublicConstructors = 0x0002 | PublicParameterlessConstructor,
 
		/// <summary>
		/// Specifies all non-public constructors.
		/// </summary>
		NonPublicConstructors = 0x0004,
 
		/// <summary>
		/// Specifies all public methods.
		/// </summary>
		PublicMethods = 0x0008,
 
		/// <summary>
		/// Specifies all non-public methods.
		/// </summary>
		NonPublicMethods = 0x0010,
 
		/// <summary>
		/// Specifies all public fields.
		/// </summary>
		PublicFields = 0x0020,
 
		/// <summary>
		/// Specifies all non-public fields.
		/// </summary>
		NonPublicFields = 0x0040,
 
		/// <summary>
		/// Specifies all public nested types.
		/// </summary>
		PublicNestedTypes = 0x0080,
 
		/// <summary>
		/// Specifies all non-public nested types.
		/// </summary>
		NonPublicNestedTypes = 0x0100,
 
		/// <summary>
		/// Specifies all public properties.
		/// </summary>
		PublicProperties = 0x0200,
 
		/// <summary>
		/// Specifies all non-public properties.
		/// </summary>
		NonPublicProperties = 0x0400,
 
		/// <summary>
		/// Specifies all public events.
		/// </summary>
		PublicEvents = 0x0800,
 
		/// <summary>
		/// Specifies all non-public events.
		/// </summary>
		NonPublicEvents = 0x1000,
 
		/// <summary>
		/// Specifies all interfaces implemented by the type.
		/// </summary>
		Interfaces = 0x2000,
 
		/// <summary>
		/// Specifies all members.
		/// </summary>
		All = ~None
	}
}