예제 #1
0
        public IlCall(IlExpression target, MethodInfo method, params IlExpression[] args)
        {
            if (args.Length != method.GetParameters().Length)
            {
                ThrowHelper.ThrowArgumentException(ExceptionResource.Parameter_Count_Mismatch, ExceptionArgument.args);
            }

            _target = target;
            _method = method;
            _args   = args;
        }
예제 #2
0
        public IlCall(IlExpression target, MethodInfo method, params IlExpression[] args)
        {
            if (args.Length != method.GetParameters().Length)
            {
                throw new ArgumentException("Parameter count mismatch", nameof(args));
            }

            _target = target;
            _method = method;
            _args   = args;
        }
예제 #3
0
 public IlWriteVariable(IlVariable variable, IlExpression value)
 {
     _variable = variable;
     _value    = value;
 }
예제 #4
0
 public IlReadField(FieldInfo field, IlExpression target)
 {
     _field  = field;
     _target = target;
 }
예제 #5
0
 public IlUnbox(Type type, IlExpression expression)
 {
     _type       = type;
     _expression = expression;
 }
예제 #6
0
 public IlCastClass(Type type, IlExpression expression)
 {
     _type       = type;
     _expression = expression;
 }
예제 #7
0
 public IlWriteField(FieldInfo field, IlExpression target, IlExpression value)
 {
     _field  = field;
     _target = target;
     _value  = value;
 }