有誰知道什麼是正確的方式來設置ProtoContract爲接口?protobuf-net和C#的接口
我收到以下異常「一旦生成序列化程序,就不能更改該類型」僅使用屬性。使用
代碼:
[ProtoContract]
public class Lesson5TestClass2 : ILesson5TestInteface1
{
[ProtoMember(1)]
public string Name { get; set; }
[ProtoMember(2)]
public string Phone { get; set; }
}
[ProtoContract]
[ProtoInclude(1000, typeof(Lesson5TestClass2))]
public interface ILesson5TestInteface1
{
[ProtoMember(1)]
string Name { get; set; }
[ProtoMember(2)]
string Phone { get; set; }
}
我能夠反序列化只有當我添加以下設置:
RuntimeTypeModel.Default.Add(typeof (ILesson5TestInteface1), true)
.AddSubType(50, typeof(Lesson5TestClass2));
我真的很想來配置這樣僅使用屬性。
我使用NuGet的protobuf-net r470。
順便說一句:這個例子來自一組「Lessons through tests」,展示瞭如何使用protobuf-net爲我的同事進行序列化。
感謝您的閱讀:)
爲什麼你需要DTO接口? – jgauffin
@jgauffin:我只是寫一些代碼來理解protobuf-net的功能。第5課是關於接口的。 :) – graffic