请专家答个有难度的问题
定义了个结构
public struct LogFont
{
public long lfHeight;
public long lfWidth;
public byte[] lfFaceName ;
}
想给public byte[] lfFaceName ; 定义长度,怎么定义?
struct里不能写new ....
[解决办法]
不会C#,蒙的,呵呵~~
[解决办法]
改成类好了,反正区别也不大
[解决办法]
[StructLayout(LayoutKind.Sequential)]
public struct LogFont
{
public long lfHeight;
public long lfWidth;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
public byte[] lfFaceName ;
}
[解决办法]
顶一下,有用啊.
[解决办法]
StructLayout(LayoutKind.Sequential)]
public struct LogFont
{
public long lfHeight;
public long lfWidth;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public byte[] lfFaceName ;
}
[解决办法]
mark
[解决办法]
To:ouyang4683
StructLayout:控制Structure语句块的元素在内存中的排列方式,以及当这些元素被传递给外部DLL时,运行库排列这些元素的方式。
MarshalAs:可以参考下面的连接
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfSystemRuntimeInteropServicesMarshalAsAttributeClassTopic.asp
[解决办法]
学习
[解决办法]
有什么用??
[解决办法]
学习
[解决办法]
LogFont a;
a.lfFaceName=new byte[32];
这不就好了??