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

IProxyBuilder

public interface IProxyBuilder
Abstracts the implementation of proxy type construction.
using Castle.Core.Logging; using System; namespace Castle.DynamicProxy { public interface IProxyBuilder { ILogger Logger { get; set; } ModuleScope ModuleScope { get; } Type CreateClassProxyType(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options); Type CreateClassProxyTypeWithTarget(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options); Type CreateInterfaceProxyTypeWithTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, Type targetType, ProxyGenerationOptions options); Type CreateInterfaceProxyTypeWithTargetInterface(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options); Type CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options); } }