StructLayout 属性用于指定结构的字段的布局。namespace System.Runtime.InteropServices
{
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]
public class StructLayoutAttribute: System.Attribute
{
public StructLayoutAttribute(LayoutKind value) {...}
public CharSet CharSet;
public bool CheckFastMarshal;
public int Pack;
public LayoutKind Value { get {...} }
}
}
如果指定了 LayoutKind.Explicit,则结构中的每个字段都必须具有 FieldOffset 属性。如果未指定 LayoutKind.Explicit,则禁止使用 FieldOffset 属性。
{
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]
public class StructLayoutAttribute: System.Attribute
{
public StructLayoutAttribute(LayoutKind value) {...}
public CharSet CharSet;
public bool CheckFastMarshal;
public int Pack;
public LayoutKind Value { get {...} }
}
}
如果指定了 LayoutKind.Explicit,则结构中的每个字段都必须具有 FieldOffset 属性。如果未指定 LayoutKind.Explicit,则禁止使用 FieldOffset 属性。
解决方案 »
- ********* updatepanel 实现局部登录退出的问题 **********
- 新手问题,急!!!!
- SQL 问题,高手请进!
- 为什么这样调用不行?在线等待!
- VS2005断点问题
- C# System.timer 的问题!!!急高分
- 请问这个 List<string> 类型怎么分别控制升序和降序
- Remoting 问题消息队列来看
- C#的注释显示问题!
- vs.net英文版是否只能装在英文windows 2000上,还有c#开发的程序能否打包在windows98上运行?
- 关于新增的记录,且返回当前新增的ID号
- 在c#中怎么实现ole(如:在ie中直接打开word文档或者PDF文档)100分!!!
public struct STRINGBUFFER
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=256)]
public string szText;
}是不是应该这么用》?
LONG x;
LONG y;
} POINT, * LPPOINT;MoveToEx(HDC hdc, int x, int y, LPPOINT oldPoint);//C#中使用MoveToEx
[StructLayout(LayoutKind.Sequential)]//确保字段顺序和上面的POINT结构对应。
public struct POINT
{
int x;
int y;
};public static extern bool MoveToEx(System.IntPtr hdc, int x, int y, ref POINT oldPoint);