DynamicObjectのTryUnaryOperation
インクリメント、デクリメント演算子でも呼び出されて素敵なのですが、
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Dynamic; namespace DynamicSample { class MyDynamic : DynamicObject { public override bool TryUnaryOperation(UnaryOperationBinder binder, out object result) { result = this; Console.WriteLine(binder.Operation.ToString()); return true; } } class Program { static void Main(string[] args) { dynamic obj = new MyDynamic(); ++obj; obj++; --obj; obj--; } } } /* Increment Increment Decrement Decrement */
前置、後置をどう区別したらよいのでしょうか・・・