public void Write(SmartPointer ptr, IIntegral value) { IIntegral val = value; if (ptr.Length != value.Length) { val = value.CastTo(Int.BestFit((int)ptr.Length)); } try { Write(ptr.Address, val.ToBinary()); } catch { throw; } }