이 질문은 protobuf-net 관리자에게 직접 문의해야하지만 다른 누구도 언급하지 마십시오.protobuf-net 및 인터페이스 지원
[DataContract]
public class SampleDataClass
{
[DataMember(Order=1)]
public int Field1 { get; set; }
[DataMember(Order = 2)]
public IPayload Payload { get; set; }
}
[ProtoContract]
[ProtoInclude(1, typeof(Payload))]
public interface IPayload
{
int Field4 { get; set; }
}
[DataContract]
public class Payload : IPayload
{
[DataMember(Order = 1)]
public int Field4 { get; set; }
}
나는이 protobuf - 그물의 V1의 소스를 변경하여 작동하도록 관리해야 :
나는 인터페이스 유형이 속성을 포함하는 클래스, 예를 직렬화하려고했다. ProtoInclude가 인터페이스에 정의되어있는 한이 접근법에 어떤 문제도 보지 못했습니다.분명히 이것을 컴파일하려면 ProtoContract와 ProtoInclude를 인터페이스에 장식 할 수 있어야하고 거기에 몇 가지 다른 변경 사항을 추가해야합니다. (참고로 DataContract/KnownType을 사용했지만이 속성도 인터페이스에 장식 할 수 없음)
가능한 단점에 대해 의견을 제시해 주시겠습니까?
V2의 표준 기능으로 사용할 수 있습니다를 취할 것 v2 트렁크에 최선을 다합니다. btw –