日期:2014-05-17 浏览次数:20923 次
static bool IsBlittable(object obj)
{
try
{
GCHandle handle = GCHandle.Alloc(obj, GCHandleType.Pinned); //<--
handle.Free();
return true;
}
catch { }
return false;
}
static void Main(string[] args)
{
bool b1 = IsBlittable((byte)0); // true
bool b2 = IsBlittable(true); // false
bool b3 = IsBlittable(0); // true
bool b4 = IsBlittable((char)0); // false
bool b5 = IsBlittable(new int[3]); // true
}