2013-01-24 4 views
0

나는 (EF와 함께 데이터베이스에 저장하기) 일반 읽기/바이트 배열에 기록

나는이 방법을 시도 바이트 배열 일반적인 변수를 넣을 수 있도록하고 싶습니다 x = bf.Deserialize (ms); 이 줄은 오류를 발생시킵니다. 호출 한 후 :

qr.Write(5,7,9); 
var i1 = qr.Read<int>(); // error here 
var i2 = qr.Read<int>(); 
var i3 = qr.Read<int>(); 

"는 분석이 완료되기 전에 스트림의 끝이 발생했습니다."

무엇이 잘못 되었나요? 0 MemoryStream을의 위치 속성을 설정하는

+0

[스트림에 문자열을 작성하고 작동하지 않습니다 다시 읽기]의 중복 가능성 (http://stackoverflow.com/questions/2629612/writing-string-to-stream-and-reading-it-back-does-not-work) –

답변

0

시도 :

public T Read<T>() 
{ 
    var byteSize = Marshal.SizeOf(typeof(T)); 
    using (var ms = new MemoryStream()) 
    { 
     ms.Write(SerializedParams, 0, SerializedParams.Length); 
     var bf = new BinaryFormatter(); 
     ms.Position = 0; // this line should do the trick 
     var x = bf.Deserialize(ms); 
     return (T)x; 
    } 
} 
관련 문제