|
Языки программирования Изучаем С++, Sql, php, Lua, Python |
|
Опции темы | Поиск в этой теме | Опции просмотра |
15.04.2011, 12:16 | #1 |
Ученый
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
|
BinaryReader и расширение ReadStruct [C#]
Немного поизучав структуры понял что это жутко удобно, и переписал большую часть кода под них. В качестве расширения для BinaryReader использовал вот эту функцию взятую вроде из кода спеллворка:
Код:
public static T ReadStruct<T>(this BinaryReader reader) where T: struct { GCHandle handle = GCHandle.Alloc(reader.ReadBytes(Marshal.SizeOf(typeof(T))), GCHandleType.Pinned); T local = (T) Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T)); handle.Free(); return local; } |
|
|