private GCHandle(object value, GCHandleType type) { if (type < GCHandleType.Weak || type > GCHandleType.Pinned) { type = GCHandleType.Normal; } this.handle = GCHandle.GetTargetHandle(value, 0, type); }