C를 하다 C#을 하니 다른점이 많다. 지금 다룰 배열도 그 한가지인데
C에서는 포인터로 넘겨버리면 되었지만 여기선 'ref' 를 쓴다.
ref를 빼먹으면 단순 배열 복사가 이루어진다.
byte[] cmd_tmp;
CvtStructToBin(test_struct, ref cmd_tmp);
public int CvtStructToBin(object obj, ref byte[] bin)
{
int length = Marshal.SizeOf(obj);
IntPtr cmd_ptr;
cmd_ptr = Marshal.AllocHGlobal(length);
bin = new byte[length];
Marshal.StructureToPtr(test_struct, cmd_ptr, true);
Marshal.Copy(cmd_ptr, bin, 0, length);
Marshal.FreeHGlobal(cmd_ptr);
return length;
}
'Programming > ASP .NET' 카테고리의 다른 글
MSSQL 2005에 필드 암호화 하기 (0) | 2007.02.20 |
---|---|
c#에서 타이머 사용하기 (0) | 2007.02.08 |
Master Page 사용하기 (0) | 2007.02.07 |
.net framework 2.x 를 깔았는데도 IIS의 웹서비스 확장 속성에 ASP .NET v2.x 가 나오지 않을 때!! (0) | 2007.02.01 |
C#에서 고정 크기 구조체 사용과 바이트 배열로 형 변환 (0) | 2007.01.23 |