C# Class Pomona.CodeGen.ProxyBuilder

Datei anzeigen Open project: Pomona/Pomona

Public Methods

Method Description
CreateProxyType ( string nameBase, IEnumerable interfacesToImplement, Mono.Cecil.TypeDefinition proxyBase ) : Mono.Cecil.TypeDefinition
ProxyBuilder ( Mono.Cecil.ModuleDefinition module, string proxyNameFormat, TypeReference proxySuperBaseTypeDef, bool isPublic, GeneratePropertyMethods onGeneratePropertyMethods = null, string proxyNamespace = null ) : System

Protected Methods

Method Description
OnGeneratePropertyMethods ( Mono.Cecil.PropertyDefinition targetProp, Mono.Cecil.PropertyDefinition proxyProp, TypeReference proxyBaseType, TypeReference proxyTargetType, TypeReference rootProxyTargetType ) : void

Private Methods

Method Description
AddProperty ( Mono.Cecil.TypeDefinition declaringType, string name, TypeReference propertyType ) : Mono.Cecil.PropertyDefinition

Create property with public getter and setter, with no method defined.

GetAllInterfacesRecursive ( Mono.Cecil.TypeDefinition typeDefinition ) : IEnumerable

Method Details

CreateProxyType() public method

public CreateProxyType ( string nameBase, IEnumerable interfacesToImplement, Mono.Cecil.TypeDefinition proxyBase ) : Mono.Cecil.TypeDefinition
nameBase string
interfacesToImplement IEnumerable
proxyBase Mono.Cecil.TypeDefinition
return Mono.Cecil.TypeDefinition

OnGeneratePropertyMethods() protected method

protected OnGeneratePropertyMethods ( Mono.Cecil.PropertyDefinition targetProp, Mono.Cecil.PropertyDefinition proxyProp, TypeReference proxyBaseType, TypeReference proxyTargetType, TypeReference rootProxyTargetType ) : void
targetProp Mono.Cecil.PropertyDefinition
proxyProp Mono.Cecil.PropertyDefinition
proxyBaseType Mono.Cecil.TypeReference
proxyTargetType Mono.Cecil.TypeReference
rootProxyTargetType Mono.Cecil.TypeReference
return void

ProxyBuilder() public method

public ProxyBuilder ( Mono.Cecil.ModuleDefinition module, string proxyNameFormat, TypeReference proxySuperBaseTypeDef, bool isPublic, GeneratePropertyMethods onGeneratePropertyMethods = null, string proxyNamespace = null ) : System
module Mono.Cecil.ModuleDefinition
proxyNameFormat string
proxySuperBaseTypeDef Mono.Cecil.TypeReference
isPublic bool
onGeneratePropertyMethods GeneratePropertyMethods
proxyNamespace string
return System