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;
        }
 public IlWriteVariable(IlVariable variable, IlExpression value)
 {
     _variable = variable;
     _value    = value;
 }
 public IlReadField(FieldInfo field, IlExpression target)
 {
     _field  = field;
     _target = target;
 }
 public IlCastClass(Type type, IlExpression expression)
 {
     _type       = type;
     _expression = expression;
 }
 public IlUnbox(Type type, IlExpression expression)
 {
     _type       = type;
     _expression = expression;
 }
示例#6
0
 public IlWriteVariable(IlVariable variable, IlExpression value)
 {
     _variable = variable;
     _value = value;
 }
 public IlWriteField(FieldInfo field, IlExpression target, IlExpression value)
 {
     _field  = field;
     _target = target;
     _value  = value;
 }
示例#8
0
 public IlReadField(FieldInfo field, IlExpression target)
 {
     _field = field;
     _target = target;
 }
示例#9
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;
        }
示例#10
0
 public IlUnbox(Type type, IlExpression expression)
 {
     _type = type;
     _expression = expression;
 }
示例#11
0
 public IlCastClass(Type type, IlExpression expression)
 {
     _type = type;
     _expression = expression;
 }
示例#12
0
 public IlWriteField(FieldInfo field, IlExpression target, IlExpression value)
 {
     _field = field;
     _target = target;
     _value = value;
 }