C# Class Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator

Inheritance: BaseProxyGenerator
Show file Open project: Jarvin-Guan/CleanAOP Class Usage Examples

Protected Properties

Property Type Description
targetField Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference

Public Methods

Method Description
GenerateCode ( Type proxyTargetType, Type interfaces, ProxyGenerationOptions options ) : Type
InterfaceProxyWithTargetGenerator ( ModuleScope scope, Type @interface ) : System

Protected Methods

Method Description
AddMappingForTargetType ( ITypeContributor>.IDictionary typeImplementerMapping, Type proxyTargetType, ICollection targetInterfaces, ICollection additionalInterfaces, INamingScope namingScope ) : ITypeContributor
CreateTypeAttributes ( ClassEmitter emitter ) : void
GenerateType ( string typeName, Type proxyTargetType, Type interfaces, INamingScope namingScope ) : Type
GetContributorForAdditionalInterfaces ( INamingScope namingScope ) : InterfaceProxyWithoutTargetContributor
GetTypeImplementerMapping ( Type interfaces, Type proxyTargetType, IEnumerable &contributors, INamingScope namingScope ) : IEnumerable
Init ( string typeName, ClassEmitter &emitter, Type proxyTargetType, FieldReference &interceptorsField, IEnumerable interfaces ) : Type

Private Methods

Method Description
CreateFields ( ClassEmitter emitter, Type proxyTargetType ) : void
EnsureValidBaseType ( Type type ) : void
ImplementedByTarget ( ICollection targetInterfaces, Type @interface ) : bool
ThrowInvalidBaseType ( Type type, string doesNotHaveAccessibleParameterlessConstructor ) : void

Method Details

AddMappingForTargetType() protected method

protected AddMappingForTargetType ( ITypeContributor>.IDictionary typeImplementerMapping, Type proxyTargetType, ICollection targetInterfaces, ICollection additionalInterfaces, INamingScope namingScope ) : ITypeContributor
typeImplementerMapping ITypeContributor>.IDictionary
proxyTargetType System.Type
targetInterfaces ICollection
additionalInterfaces ICollection
namingScope INamingScope
return ITypeContributor

CreateTypeAttributes() protected method

protected CreateTypeAttributes ( ClassEmitter emitter ) : void
emitter Castle.DynamicProxy.Generators.Emitters.ClassEmitter
return void

GenerateCode() public method

public GenerateCode ( Type proxyTargetType, Type interfaces, ProxyGenerationOptions options ) : Type
proxyTargetType System.Type
interfaces System.Type
options ProxyGenerationOptions
return System.Type

GenerateType() protected method

protected GenerateType ( string typeName, Type proxyTargetType, Type interfaces, INamingScope namingScope ) : Type
typeName string
proxyTargetType System.Type
interfaces System.Type
namingScope INamingScope
return System.Type

GetContributorForAdditionalInterfaces() protected method

protected GetContributorForAdditionalInterfaces ( INamingScope namingScope ) : InterfaceProxyWithoutTargetContributor
namingScope INamingScope
return Castle.DynamicProxy.Contributors.InterfaceProxyWithoutTargetContributor

GetTypeImplementerMapping() protected method

protected GetTypeImplementerMapping ( Type interfaces, Type proxyTargetType, IEnumerable &contributors, INamingScope namingScope ) : IEnumerable
interfaces System.Type
proxyTargetType System.Type
contributors IEnumerable
namingScope INamingScope
return IEnumerable

Init() protected method

protected Init ( string typeName, ClassEmitter &emitter, Type proxyTargetType, FieldReference &interceptorsField, IEnumerable interfaces ) : Type
typeName string
emitter Castle.DynamicProxy.Generators.Emitters.ClassEmitter
proxyTargetType System.Type
interceptorsField Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference
interfaces IEnumerable
return System.Type

InterfaceProxyWithTargetGenerator() public method

public InterfaceProxyWithTargetGenerator ( ModuleScope scope, Type @interface ) : System
scope ModuleScope
@interface System.Type
return System

Property Details

targetField protected property

protected FieldReference,Castle.DynamicProxy.Generators.Emitters.SimpleAST targetField
return Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference