コード例 #1
0
ファイル: Setter.cs プロジェクト: valmont/structuremap
        public LambdaExpression ToSetterLambda(Type concreteType, ParameterExpression target)
        {
            var lambdaType    = typeof(Action <, ,>).MakeGenericType(typeof(IBuildSession), typeof(IContext), concreteType);
            var method        = _member.As <PropertyInfo>().GetSetMethod();
            var callSetMethod = Expression.Call(target, method,
                                                AssignedValue.ToExpression(Parameters.Session, Parameters.Context));

            return(Expression.Lambda(lambdaType, callSetMethod, Parameters.Session, Parameters.Context, target));
        }
コード例 #2
0
ファイル: Part.cs プロジェクト: nunb/code
 public override string ToString()
 {
     if (IsAssigned)
     {
         return(AssignedValue.ToString());
     }
     else
     {
         return(CurrentValidValues.ToString());
     }
 }
コード例 #3
0
 public MemberBinding ToBinding()
 {
     return(Expression.Bind(_member, AssignedValue.ToExpression()));
 }
コード例 #4
0
ファイル: Setter.cs プロジェクト: valmont/structuremap
 public MemberBinding ToBinding(ParameterExpression session, ParameterExpression context)
 {
     return(Expression.Bind(_member, AssignedValue.ToExpression(session, context)));
 }