C# Класс Pomona.Common.Proxies.ProxyBuilder

Показать файл Открыть проект

Открытые методы

Метод Описание
CreateProxyType ( string nameBase, IEnumerable interfacesToImplement ) : TypeBuilder
ProxyBuilder ( ModuleBuilder module, string proxyNameFormat, Type proxyBaseTypeDef, bool isPublic, Action onGeneratePropertyMethodsFunc = null, string proxyNamespace = null ) : System

Защищенные методы

Метод Описание
OnGeneratePropertyMethods ( PropertyInfo targetProp, PropertyBuilder proxyProp, Type proxyBaseType, Type proxyTargetType, Type rootProxyTargetType ) : void
OnPropertyGenerationComplete ( TypeBuilder proxyType ) : void

Приватные методы

Метод Описание
AddProperty ( TypeBuilder declaringType, string name, Type propertyType, string explicitPrefix, PropertyInfo overridedProp ) : PropertyBuilder

Create property with explicit implementation of getter and setter, with no method defined.

AdjustParameterTypes ( ParameterInfo parameters, Type>.Func typeReplacer, MethodBuilder method ) : void
BaseTypeHasMatchingPublicMethod ( System.Type.Type baseDef, System.Reflection.MethodInfo.MethodInfo targetMethod ) : bool
CopyGenericMethodParameters ( System.Reflection.MethodInfo.MethodInfo targetMethod, MethodBuilder method, Type>.Dictionary genArgMapping, Type>.Func typeReplacer ) : void
GenerateInvokeMethodIl ( MethodBuilder method, System.Type.Type paramTypes, ParameterInfo parameters, System.Reflection.MethodInfo.MethodInfo proxyOnGetMethod ) : void
GenerateProxyMethods ( IEnumerable interfaces, TypeBuilder proxyType ) : void
GetAllInterfacesRecursive ( Type typeDefinition ) : IEnumerable
GetPropertyMethods ( PropertyInfo propertyInfo ) : IEnumerable

Описание методов

CreateProxyType() публичный Метод

public CreateProxyType ( string nameBase, IEnumerable interfacesToImplement ) : TypeBuilder
nameBase string
interfacesToImplement IEnumerable
Результат System.Reflection.Emit.TypeBuilder

OnGeneratePropertyMethods() защищенный Метод

protected OnGeneratePropertyMethods ( PropertyInfo targetProp, PropertyBuilder proxyProp, Type proxyBaseType, Type proxyTargetType, Type rootProxyTargetType ) : void
targetProp System.Reflection.PropertyInfo
proxyProp System.Reflection.Emit.PropertyBuilder
proxyBaseType System.Type
proxyTargetType System.Type
rootProxyTargetType System.Type
Результат void

OnPropertyGenerationComplete() защищенный Метод

protected OnPropertyGenerationComplete ( TypeBuilder proxyType ) : void
proxyType System.Reflection.Emit.TypeBuilder
Результат void

ProxyBuilder() публичный Метод

public ProxyBuilder ( ModuleBuilder module, string proxyNameFormat, Type proxyBaseTypeDef, bool isPublic, Action onGeneratePropertyMethodsFunc = null, string proxyNamespace = null ) : System
module System.Reflection.Emit.ModuleBuilder
proxyNameFormat string
proxyBaseTypeDef System.Type
isPublic bool
onGeneratePropertyMethodsFunc Action
proxyNamespace string
Результат System