Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="4.0.0-preview-669" />

 Constants

static class Constants
using Stashbox.Attributes; using Stashbox.Resolution; using System; using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Runtime.CompilerServices; namespace Stashbox.Utils { internal static class Constants { public static readonly Type ResolutionScopeType = typeof(IResolutionScope); public static readonly Type ServiceProviderType = typeof(IServiceProvider); public static readonly Type ResolverType = typeof(IDependencyResolver); public static readonly Type ResolutionContextType = typeof(IResolutionContext); public static readonly Type ObjectType = typeof(object); public static readonly ParameterExpression ResolutionScopeParameter = ResolutionScopeType.AsParameter("scope"); public static readonly MethodInfo AddDisposalMethod = ResolutionScopeType.GetMethod("AddDisposableTracking"); public static readonly MethodInfo GetOrAddScopedObjectMethod = ResolutionScopeType.GetMethod("GetOrAddScopedObject"); public static readonly MethodInfo AddWithFinalizerMethod = ResolutionScopeType.GetMethod("AddWithFinalizer"); public static readonly MethodInfo AddWithAsyncInitializerMethod = ResolutionScopeType.GetMethod("AddWithAsyncInitializer"); public static readonly MethodInfo CheckRuntimeCircularDependencyBarrierMethod = ResolutionScopeType.GetMethod("CheckRuntimeCircularDependencyBarrier"); public static readonly MethodInfo ResetRuntimeCircularDependencyBarrierMethod = ResolutionScopeType.GetMethod("ResetRuntimeCircularDependencyBarrier"); public static readonly MethodInfo BeginScopeMethod = ResolverType.GetMethod("BeginScope"); public static readonly MethodInfo ResolveMethod = ResolverType.GetMethod("Resolve", new Type[4] { typeof(Type), ObjectType, typeof(bool), typeof(object[]) }); public static readonly Type DisposableType = typeof(IDisposable); public static readonly Type AsyncDisposableType = typeof(IAsyncDisposable); public static readonly Type FuncType = typeof(Func<>); public static readonly Type[] EmptyTypes = EmptyArray<Type>(); public static readonly Type CompositionRootType = typeof(ICompositionRoot); public static readonly Type DependencyAttributeType = typeof(Stashbox.Attributes.DependencyAttribute); public static readonly Type InjectionAttributeType = typeof(InjectionMethodAttribute); public const MethodImplOptions Inline = MethodImplOptions.AggressiveInlining; public const byte DelegatePlaceholder = 0; public static T[] EmptyArray<T>() { return InternalArrayHelper<T>.Empty; } } }