[StructLayout(LayoutKind.Sequential, Pack = 4)]struct A
{...}A a ;Marshal.SizeOf(a);//OK
Marshal.SizeOf(A);//Error "..A是类型,但此处被当作变量来使用"搞不懂了,MSDN上说:

Marshal.SizeOf (Object)  返回对象的非托管大小(以字节为单位)。 
Marshal.SizeOf (Type)  返回非托管类型的大小(以字节为单位)。 
我认为Marshal.SizeOf(A); 使用的正是第二种形式,怎么会编译出错呢?