<PackageReference Include="Castle.Core" Version="4.1.1" />

BaseProxyGenerator

public abstract class BaseProxyGenerator
protected readonly Type targetType

public ILogger Logger { get; set; }

protected ProxyGenerationOptions ProxyGenerationOptions { get; protected set; }

protected ModuleScope Scope { get; }

protected BaseProxyGenerator(ModuleScope scope, Type targetType)

protected void AddMapping(Type interface, ITypeContributor implementer, IDictionary<Type, ITypeContributor> mapping)

protected void AddMappingForISerializable(IDictionary<Type, ITypeContributor> typeImplementerMapping, ITypeContributor instance)

protected void AddMappingNoCheck(Type interface, ITypeContributor implementer, IDictionary<Type, ITypeContributor> mapping)

protected void AddToCache(CacheKey key, Type type)

protected virtual ClassEmitter BuildClassEmitter(string typeName, Type parentType, IEnumerable<Type> interfaces)

protected void CheckNotGenericTypeDefinition(Type type, string argumentName)

protected void CheckNotGenericTypeDefinitions(IEnumerable<Type> types, string argumentName)

protected void CompleteInitCacheMethod(ConstructorCodeBuilder constCodeBuilder)

protected virtual void CreateFields(ClassEmitter emitter)

protected void CreateInterceptorsField(ClassEmitter emitter)

protected void CreateSelectorField(ClassEmitter emitter)

protected virtual void CreateTypeAttributes(ClassEmitter emitter)

protected void GenerateConstructor(ClassEmitter emitter, ConstructorInfo baseConstructor, FieldReference[] fields)

protected void GenerateConstructors(ClassEmitter emitter, Type baseType, FieldReference[] fields)

protected void GenerateParameterlessConstructor(ClassEmitter emitter, Type baseClass, FieldReference interceptorField)

protected Type GetFromCache(CacheKey key)

protected void HandleExplicitlyPassedProxyTargetAccessor(ICollection<Type> targetInterfaces, ICollection<Type> additionalInterfaces)

protected void InitializeStaticFields(Type builtType)

protected Type ObtainProxyType(CacheKey cacheKey, Func<string, INamingScope, Type> factory)