Smdn.Fundamental.Reflection 3.3.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Smdn.Fundamental.Reflection --version 3.3.0                
NuGet\Install-Package Smdn.Fundamental.Reflection -Version 3.3.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Smdn.Fundamental.Reflection" Version="3.3.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Smdn.Fundamental.Reflection --version 3.3.0                
#r "nuget: Smdn.Fundamental.Reflection, 3.3.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Smdn.Fundamental.Reflection as a Cake Addin
#addin nuget:?package=Smdn.Fundamental.Reflection&version=3.3.0

// Install Smdn.Fundamental.Reflection as a Cake Tool
#tool nuget:?package=Smdn.Fundamental.Reflection&version=3.3.0                

Smdn.Fundamental.Reflection

Reflection utility and extension library

API List

// Smdn.Fundamental.Reflection.dll (Smdn.Fundamental.Reflection-3.3.0)
//   Name: Smdn.Fundamental.Reflection
//   AssemblyVersion: 3.3.0.0
//   InformationalVersion: 3.3.0+61f4ebda7b596d7dc0ab6f5f3f842f89f0df3d6e
//   TargetFramework: .NETCoreApp,Version=v6.0
//   Configuration: Release

using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Runtime.CompilerServices;
using Smdn.Reflection;

namespace Smdn.Reflection {
  public enum Accessibility : int {
    Assembly = 3,
    Family = 4,
    FamilyAndAssembly = 2,
    FamilyOrAssembly = 5,
    Private = 1,
    Public = 6,
    Undefined = 0,
  }

  public enum MethodSpecialName : int {
    Addition = 16,
    BitwiseAnd = 21,
    BitwiseOr = 22,
    Constructor = 1,
    Decrement = 15,
    Division = 19,
    Equality = 2,
    ExclusiveOr = 23,
    Explicit = 26,
    False = 13,
    GreaterThan = 5,
    GreaterThanOrEqual = 7,
    Implicit = 27,
    Increment = 14,
    Inequality = 3,
    LeftShift = 25,
    LessThan = 4,
    LessThanOrEqual = 6,
    LogicalNot = 10,
    Modulus = 20,
    Multiply = 18,
    None = 0,
    OnesComplement = 11,
    RightShift = 24,
    Subtraction = 17,
    True = 12,
    UnaryNegation = 9,
    UnaryPlus = 8,
    Unknown = -1,
  }

  [Nullable(byte.MinValue)]
  [NullableContext(1)]
  public static class EventInfoExtensions {
    [return: Nullable(2)] public static FieldInfo GetBackingField(this EventInfo ev) {}
    public static IEnumerable<MethodInfo> GetMethods(this EventInfo ev) {}
    public static IEnumerable<MethodInfo> GetMethods(this EventInfo ev, bool nonPublic) {}
    public static bool IsStatic(this EventInfo ev) {}
  }

  [Nullable(byte.MinValue)]
  [NullableContext(1)]
  public static class FieldInfoExtensions {
    public static bool IsEventBackingField(this FieldInfo f) {}
    public static bool IsPropertyBackingField(this FieldInfo f) {}
    public static bool TryGetEventFromBackingField(this FieldInfo backingField, [NotNullWhen(true)] [Nullable(2)] out EventInfo ev) {}
    public static bool TryGetPropertyFromBackingField(this FieldInfo backingField, [NotNullWhen(true)] [Nullable(2)] out PropertyInfo property) {}
  }

  [Nullable(byte.MinValue)]
  [NullableContext(1)]
  public static class MemberInfoExtensions {
    public static Accessibility GetAccessibility(this MemberInfo member) {}
    public static bool IsHidingInheritedMember(this MemberInfo member, bool nonPublic) {}
    public static bool IsPrivateOrAssembly(this MemberInfo member) {}
  }

  [Nullable(byte.MinValue)]
  [NullableContext(1)]
  public static class MethodBaseExtensions {
    [return: Nullable(2)] public static MethodInfo FindExplicitInterfaceMethod(this MethodBase m, bool findOnlyPublicInterfaces = false) {}
    public static MethodSpecialName GetNameType(this MethodBase m) {}
    public static IEnumerable<Type> GetSignatureTypes(this MethodBase m) {}
    public static bool IsExplicitlyImplemented(this MethodBase m) {}
    public static bool TryFindExplicitInterfaceMethod(this MethodBase m, [Nullable(2)] out MethodInfo explicitInterfaceMethod, bool findOnlyPublicInterfaces = false) {}
  }

  [Nullable(byte.MinValue)]
  [NullableContext(1)]
  public static class MethodInfoExtensions {
    public static bool IsDelegateSignatureMethod(this MethodInfo m) {}
    public static bool IsEventAccessorMethod(this MethodInfo m) {}
    public static bool IsEventAddMethod(this MethodInfo m) {}
    public static bool IsEventRemoveMethod(this MethodInfo m) {}
    [Obsolete("use IsOverride instead")]
    public static bool IsOverridden(this MethodInfo m) {}
    public static bool IsOverride(this MethodInfo m) {}
    public static bool IsPropertyAccessorMethod(this MethodInfo m) {}
    public static bool IsPropertyGetMethod(this MethodInfo m) {}
    public static bool IsPropertySetMethod(this MethodInfo m) {}
    [NullableContext(2)]
    public static bool TryGetEventFromAccessorMethod(this MethodInfo accessor, [NotNullWhen(true)] out EventInfo ev) {}
    [NullableContext(2)]
    public static bool TryGetPropertyFromAccessorMethod(this MethodInfo accessor, [NotNullWhen(true)] out PropertyInfo property) {}
  }

  [Nullable(byte.MinValue)]
  [NullableContext(1)]
  public static class ParameterInfoExtensions {
    [return: Nullable(2)] public static EventInfo GetDeclaringEvent(this ParameterInfo param) {}
    [return: Nullable(2)] public static PropertyInfo GetDeclaringProperty(this ParameterInfo param) {}
    public static bool IsReturnParameter(this ParameterInfo param) {}
  }

  [Nullable(byte.MinValue)]
  [NullableContext(1)]
  public static class PropertyInfoExtensions {
    [return: Nullable(2)] public static FieldInfo GetBackingField(this PropertyInfo property) {}
    public static bool IsSetMethodInitOnly(this PropertyInfo property) {}
    public static bool IsStatic(this PropertyInfo property) {}
  }

  [Nullable(byte.MinValue)]
  [NullableContext(1)]
  public static class TypeExtensions {
    [return: Nullable(2)] public static MethodInfo GetDelegateSignatureMethod(this Type t) {}
    public static IEnumerable<Type> GetExplicitBaseTypeAndInterfaces(this Type t) {}
    public static string GetGenericTypeName(this Type t) {}
    public static IEnumerable<string> GetNamespaces(this Type t) {}
    public static IEnumerable<string> GetNamespaces(this Type t, Func<Type, bool> isLanguagePrimitive) {}
    public static bool IsByRefLikeValueType(this Type t) {}
    public static bool IsConcreteDelegate(this Type t) {}
    public static bool IsDelegate(this Type t) {}
    public static bool IsEnumFlags(this Type t) {}
    public static bool IsHidingInheritedType(this Type t, bool nonPublic) {}
    public static bool IsReadOnlyValueType(this Type t) {}
    public static bool IsStructLayoutDefault(this Type t) {}
  }
}

namespace Smdn.Reflection.Attributes {
  public static class CustomAttributeTypedArgumentExtensions {
    [NullableContext(2)]
    public static object GetTypedValue(this CustomAttributeTypedArgument typedArg) {}
  }

  public static class ICustomAttributeProviderExtensions {
    [NullableContext(1)]
    public static IList<CustomAttributeData> GetCustomAttributeDataList(this ICustomAttributeProvider attributeProvider) {}
  }
}
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.5

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net5.0

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Smdn.Fundamental.Reflection:

Package Downloads
Smdn.Reflection.ReverseGenerating

The reflection library for reverse-generating declarations of types and members.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.6.0 535 2/10/2024
3.5.0 290 12/24/2023
3.4.0 417 1/18/2023
3.3.2 765 7/28/2022
3.3.1 1,302 7/15/2022
3.3.0 2,217 7/8/2022
3.2.0 454 7/3/2022
3.1.0 450 6/7/2022
3.0.4 1,471 12/25/2021
3.0.3 261 12/24/2021
3.0.2 884 10/24/2021
3.0.1 305 8/27/2021
3.0.0 1,294 8/20/2021