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; }
public IlWriteField(FieldInfo field, IlExpression target, IlExpression value) { _field = field; _target = target; _value = value; }
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; }