/// <exception cref="VariantException"></exception> public static void DoVariantOperation(int op, Variant target, Variant param) { switch (op) { case OP_BAND: { target.AndEqual(param); return; } case OP_BOR: { target.OrEqual(param); return; } case OP_BXOR: { target.BitXorEqual(param); return; } case OP_SUB: { target.SubtractEqual(param); return; } case OP_ADD: { target.AddEqual(param); return; } case OP_MOD: { target.ResidueEqual(param); return; } case OP_DIV: { target.DivideEqual(param); return; } case OP_IDIV: { target.Idivequal(param); return; } case OP_MUL: { target.MultiplyEqual(param); return; } case OP_LOR: { target.Logicalorequal(param); return; } case OP_LAND: { target.Logicalandequal(param); return; } case OP_SAR: { target.RightShiftEqual(param); return; } case OP_SAL: { target.LeftShiftEqual(param); return; } case OP_SR: { target.Rbitshiftequal(param); return; } case OP_INC: { target.Increment(); return; } case OP_DEC: { target.Decrement(); return; } } }