나는 물체를 가지고있는직렬화 및 비 표준 생성자와 객체 직렬화 - protobuf - 그물
- , 직렬화 속성은
- 유형의 속성을 가지고 설정이없는 직렬화 속성이 을 설정할 수 없습니다 0을 사용할 때 내가 통제권이없는
내가 THIS을 읽는 시도 (내가 클래스를 편집 할 수 없습니다 의미),이 문제를 해결하기 위해 대체 수업에 대해 이야기하지만 솔직히 말해서, 내 개체의 속성을 모르는 경우이 작업을 수행하는 방법을 이해할 수 없습니다.
이 작업을 수행 할 수있는 직렬화 프레임 워크가 있습니까?
편집 : protobuf.net 으로 찾고 있어요 내가 비록 내 시나리오에서 작동하도록하는 방법을 알아낼 수 없습니다 - 임 마크가 세상을 구한다에 의해 스윙 바라고? :) - 나는 내가 RunTimeTypeModel을 사용하고
private static byte[] ClienToBytes(IScsClient client)
{
using (var memoryStream = new MemoryStream())
{
RuntimeTypeModel.Default.Add(typeof(IScsClient), true).SetSurrogate(typeof(BinaryFormatterSurrogate<IScsClient>));
Serializer.Serialize(memoryStream, client);
return memoryStream.ToArray();
}
}
를 사용하는 경우 광산과 정확히 같은 문제,하지만 난 여전히 얻고있다 "형이 예상되지 않고 계약을 유추 할 수 없습니다" 을하는 this 읽기 잘못된?
'인터페이스를 IScsClient'되는 새로운 데이터를 추가하려면? 또는 수업? 또는 더 나은 : 당신이 할 수있는 * 실행 가능한 예제 * (실제로 작동하지 않더라도)를 가지고 있습니까? –
예! - IScsClient 클래스 (나쁜 명명 어쩌면 것 같아요?) - IscsWireProtocol WireProtocol 같은 속성을 가진 - 인터페이스에서이 작업을 수행 할 수 있습니까? 개체를 만들 수 있습니다 - 어떤 serialize 및 deserialize 때문에 나중에 필요할 연결 속성이 있습니다. 나는 무엇을하고 싶은가에 대한 실행 가능한 테스트를 가지고있다. – VisualBean
그것의 인터페이스는 – VisualBean