C# 클래스 ThisMember.Core.CompiledMapGenerator

상속: IMapGenerator
파일 보기 프로젝트 열기: JulianR/ThisMember

Private Properties

프로퍼티 타입 설명
AssignSimpleProperty System.Linq.Expressions.BinaryExpression
BuildComplexTypeMappingExpressions void
BuildEnumerableMappingExpressions void
BuildHierarchicalExpression System.Linq.Expressions.Expression
BuildMemberAssignmentExpressions void
BuildTypeMappingExpressions void
CanAssignSourceElementToDestination bool
CompileExpression System.Delegate
CompiledMapGenerator System
DefineMappingType System.Reflection.Emit.TypeBuilder
FindEnumerableMappingFacts EnumerableMappingFacts
GetConstructorForType System.Linq.Expressions.Expression
GetEnumerableSizeAccessor System.Linq.Expressions.Expression
GetMatchingFuncOverload System.Type
GetParamName string
GetParameterName string
HandleDestinationNullableValueType System.Linq.Expressions.Expression
HandleNullableValueTypes System.Linq.Expressions.Expression
HandleSourceNullableValueType System.Linq.Expressions.Expression
HandleSpecialType System.Linq.Expressions.Expression
HandleStringDestination System.Linq.Expressions.Expression
IsCollectionType bool
IsListType bool
ObtainParameter System.Linq.Expressions.ParameterExpression
ProcessTypeModifierData System.Linq.Expressions.Expression
ProcessTypeModifierData void
ReleaseParameter void
TypeReceivesSpecialTreatment bool
ValidateConversionFunction void

공개 메소드들

메소드 설명
CompiledMapGenerator ( IMemberMapper mapper, ThisMember.Core.ProposedMap map, ThisMember.Core.MapperOptions options ) : System
GenerateMappingFunction ( ) : Delegate

비공개 메소드들

메소드 설명
AssignSimpleProperty ( ProposedMemberMapping member, MemberExpression destination, Expression source, ThisMember.Core.ProposedTypeMapping typeMapping, bool usesConversionFunction ) : BinaryExpression

Assigns an expression that can be pretty much anything to a destination mapping.

BuildComplexTypeMappingExpressions ( System.Linq.Expressions.ParameterExpression source, System.Linq.Expressions.ParameterExpression destination, ThisMember.Core.ProposedTypeMapping complexTypeMapping, List expressions ) : void
BuildEnumerableMappingExpressions ( System.Linq.Expressions.ParameterExpression source, System.Linq.Expressions.ParameterExpression destination, ThisMember.Core.ProposedTypeMapping complexTypeMapping, List expressions ) : void

Generates the loop that maps any IEnumerable type

BuildHierarchicalExpression ( System.Linq.Expressions.ParameterExpression sourceParam, ProposedHierarchicalMapping mapping, Expression expression ) : Expression
BuildMemberAssignmentExpressions ( System.Linq.Expressions.ParameterExpression source, System.Linq.Expressions.ParameterExpression destination, ProposedMemberMapping member, List expressions, ThisMember.Core.ProposedTypeMapping typeMapping, ThisMember.Core.Interfaces.CustomMapping customMapping = null ) : void

Assign source member to a destination mapping, applying any custom mappings in the process.

BuildTypeMappingExpressions ( System.Linq.Expressions.ParameterExpression source, System.Linq.Expressions.ParameterExpression destination, ThisMember.Core.ProposedTypeMapping typeMapping, List expressions, ThisMember.Core.Interfaces.CustomMapping customMapping = null ) : void

Processes a mapping for a type.

CanAssignSourceElementToDestination ( ThisMember.Core.ProposedTypeMapping complexTypeMapping, Type destinationCollectionElementType, Type sourceCollectionElementType ) : bool
CompileExpression ( Type sourceType, Type destinationType, LambdaExpression expression ) : Delegate
CompiledMapGenerator ( ) : System
DefineMappingType ( string name ) : TypeBuilder
FindEnumerableMappingFacts ( System.Linq.Expressions.ParameterExpression source, System.Linq.Expressions.ParameterExpression destination, ThisMember.Core.ProposedTypeMapping complexTypeMapping ) : EnumerableMappingFacts
GetConstructorForType ( Type t, System.Linq.Expressions.ParameterExpression source, System.Linq.Expressions.ParameterExpression destination ) : Expression
GetEnumerableSizeAccessor ( EnumerableMappingFacts facts, Expression accessSourceCollection ) : Expression
GetMatchingFuncOverload ( ThisMember.Core.ProposedMap map ) : Type
GetParamName ( Type t, string purpose ) : string
GetParameterName ( ThisMember.Core.Interfaces.PropertyOrFieldInfo member ) : string
HandleDestinationNullableValueType ( MemberExpression destination, Expression source ) : Expression
HandleNullableValueTypes ( MemberExpression destination, Expression source ) : Expression
HandleSourceNullableValueType ( MemberExpression destination, Expression source ) : Expression
HandleSpecialType ( Type sourceType, Type destinationType, System.Linq.Expressions.ParameterExpression complexSource ) : Expression
HandleStringDestination ( Type sourceType, System.Linq.Expressions.ParameterExpression complexSource ) : Expression
IsCollectionType ( Type sourceMemberPropertyType ) : bool
IsListType ( Type sourceMemberPropertyType ) : bool
ObtainParameter ( Type type, string purpose = null ) : System.Linq.Expressions.ParameterExpression

Gets a reusable parameter for a certain type and with a certain name influenced by purpose. Property obtained must later returned to the cache when done with it by calling ReleaseParameter.

ProcessTypeModifierData ( TypeModifierData data, Expression typeParam ) : Expression
ProcessTypeModifierData ( System.Linq.Expressions.ParameterExpression param, List expressions, MappingSides side ) : void
ReleaseParameter ( System.Linq.Expressions.ParameterExpression param ) : void
TypeReceivesSpecialTreatment ( Type type ) : bool
ValidateConversionFunction ( LambdaExpression conversionFunction, System.Linq.Expressions.ParameterExpression conversionParameter, Expression sourceExpression, Expression destinationExpression ) : void

메소드 상세

CompiledMapGenerator() 공개 메소드

public CompiledMapGenerator ( IMemberMapper mapper, ThisMember.Core.ProposedMap map, ThisMember.Core.MapperOptions options ) : System
mapper IMemberMapper
map ThisMember.Core.ProposedMap
options ThisMember.Core.MapperOptions
리턴 System

GenerateMappingFunction() 공개 메소드

public GenerateMappingFunction ( ) : Delegate
리턴 System.Delegate