首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请专家答个有难度的有关问题

2012-01-03 
请专家答个有难度的问题定义了个结构publicstructLogFont{publiclonglfHeightpubliclonglfWidthpublicby

请专家答个有难度的问题
定义了个结构
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];

这不就好了??

热点排行