我想做以下事情:
public enum Blah
{
A,B
}
[Test,Explicit]
public void TestEnumGcHandle()
{
var ea = new Blah[10];
GCHandle.Alloc(ea, GCHandleType.Pinned);
}
Run Code Online (Sandbox Code Playgroud)
但我得到:
System.ArgumentException : Object contains non-primitive or non-blittable data.
Run Code Online (Sandbox Code Playgroud)
.net 枚举是 blittable 类型吗?(Marshalling)声称 Enum 是 blittable,但我无法固定它们的数组。这可能是 GcHandle.Alloc 中的错误吗?我正在使用 .NET 3.5。