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

Castle.DynamicProxy.Generators.BaseProxyGenerator

abstract class BaseProxyGenerator
protected readonly Type[] interfaces

protected readonly Type targetType

public ILogger Logger { get; set; }

protected ModuleScope Scope { get; }

protected BaseProxyGenerator(ModuleScope scope, Type targetType, Type[] interfaces, ProxyGenerationOptions proxyGenerationOptions)

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

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

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(CodeBuilder 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 abstract Type GenerateType(string name, INamingScope namingScope)

protected abstract CacheKey GetCacheKey()

public Type GetProxyType()

protected void InitializeStaticFields(Type builtType)