C#.net的写法问题,我看到了一句如下写法的C#代码,但是我在书上找不到,这种写法
为什么有这么多的[ ],方括号,我可能没说清楚,但是请大致说说这种扩在方括号的写法
[StructLayout(LayoutKind.Explicit)]
public struct IPHeader
{
[FieldOffset(0)]
public byte versionAndLength;//4位IP版本号+4位IP包头长度
[FieldOffset(1)]
public byte typeOfService;//8位服务类型
[FieldOffset(2)]
public ushort totalLength;//16位总长度(字节)
[FieldOffset(4)]
public ushort identifier;//16位标识
[FieldOffset(6)]
public ushort flagsAndOffset;//3位标志位+13位报片偏移
[FieldOffset(8)]
public byte timeToLive;//8位生存时间
[FieldOffset(9)]
public byte protocol;//8位协议 (TCP, UDP 或其他)
[FieldOffset(10)]
public ushort checksum;//16位IP包头校验和
[FieldOffset(12)]
public uint sourceAddress;//32位源IP地址
[FieldOffset(16)]
public uint destinationAddress;//32位目的IP地址
}
答案:先说目的吧,是数据映射,将类数据映射为结构,用于其他库函数(如c++写的)传递数据。[]好的写法,是属性(attribute)写法,能写在[]里属性需要继承特殊的类(具体忘了),常见于自定义控件。
其他:方括号是特性(不是属性),比较高级的部分了.
上一个:如何在GridView控件的表头列设置文字和排序的图片并存
下一个:C# 与C++怎样通过CopyData传送字体