internal InitialisationExpressionTranslator(MethodCallExpressionTranslator methodCallTranslator) : base(ExpressionType.ListInit, ExpressionType.MemberInit, ExpressionType.NewArrayInit) { _helpersByNodeType = new Dictionary <ExpressionType, IInitExpressionHelper> { [ExpressionType.ListInit] = new ListInitExpressionHelper(), [ExpressionType.MemberInit] = new MemberInitExpressionHelper(methodCallTranslator), [ExpressionType.NewArrayInit] = new ArrayInitExpressionHelper() }; }
public MemberInitExpressionHelper(MethodCallExpressionTranslator methodCallTranslator) : base(exp => exp.NewExpression, exp => !exp.Arguments.Any()) { _methodCallTranslator = methodCallTranslator; _bindingTranslatorsByType = new Dictionary <MemberBindingType, Func <MemberBinding, TranslationContext, string> > { { MemberBindingType.Assignment, TranslateAssignmentBinding }, { MemberBindingType.ListBinding, TranslateListBinding }, { MemberBindingType.MemberBinding, TranslateMemberBinding } }; }
public DynamicExpressionTranslator( MemberAccessExpressionTranslator memberAccessTranslator, AssignmentExpressionTranslator assignmentTranslator, MethodCallExpressionTranslator methodCallTranslator) : base(ExpressionType.Dynamic) { var dynamicMemberAccessTranslator = new DynamicMemberAccessTranslator(memberAccessTranslator); _translators = new DynamicOperationTranslatorBase[] { dynamicMemberAccessTranslator, new DynamicMemberWriteTranslator(dynamicMemberAccessTranslator, assignmentTranslator), new DynamicMethodCallTranslator(methodCallTranslator) }; }
public DynamicMethodCallTranslator(MethodCallExpressionTranslator methodCallTranslator) : base(@"^Call (?<MethodName>[^\(]+)\(") { _methodCallTranslator = methodCallTranslator; }