C# 클래스 Pomona.Common.Proxies.ProxyBuilder

파일 보기 프로젝트 열기: Pomona/Pomona

공개 메소드들

메소드 설명
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