using System; namespace BITKit { public static class MathO { public static void Exchange(T x,T y,Func getFacotry,Action setFacotry) { var _x = (TValue)getFacotry.Method.Invoke(x,null); var _y = (TValue)getFacotry.Method.Invoke(y,null); setFacotry.Invoke(x,_y); setFacotry.Invoke(y,_x); } } }