C# protobuf net v2 r450继承
协议网络v2 r450继承 希望有人能用protobuf网络为我指明正确的方向。我能找到的所有示例代码似乎都表明我正在尝试的应该是可能的 域(我的最终域将比此域更复杂,但我甚至无法使其工作): 测试:C# protobuf net v2 r450继承,c#,protobuf-net,C#,Protobuf Net,协议网络v2 r450继承 希望有人能用protobuf网络为我指明正确的方向。我能找到的所有示例代码似乎都表明我正在尝试的应该是可能的 域(我的最终域将比此域更复杂,但我甚至无法使其工作): 测试: var geographyDataTest = new GeographyData(); geographyDataTest.LastRefreshTime = DateTime.Now; geographyDataTest.Item = new HotelData { Id = Guid
var geographyDataTest = new GeographyData();
geographyDataTest.LastRefreshTime = DateTime.Now;
geographyDataTest.Item = new HotelData
{
Id = Guid.Empty,
Name = "Test",
};
var test = ProtoBuf.Serializer.DeepClone(geographyDataTest);
例外情况:
无法将“Domain.GeographyItem”类型的对象强制转换为“Domain.Geography.HotelData”类型
有人能给我一些建议吗
谢谢有一个关于引用和继承的问题,我希望很快能解决。同意,看起来应该可以解决。我不在电脑前,但稍后再看谢谢你的快速回复,马克真的很感激!当然,如果我删除AsReference,它会工作得很好,当我真的想要这个:)@David如果你需要的话,我可能会在几天内看到这个,那太棒了,但是我知道开发库的痛苦,突然间每个人都希望他们为他们正在做的事情工作:)所以不要自杀,我会找到另一个解决方案,我确信:)@david这是一个应该得到支持的方案。谢谢,那太好了:)
var geographyDataTest = new GeographyData();
geographyDataTest.LastRefreshTime = DateTime.Now;
geographyDataTest.Item = new HotelData
{
Id = Guid.Empty,
Name = "Test",
};
var test = ProtoBuf.Serializer.DeepClone(geographyDataTest);
[InvalidCastException: Unable to cast object of type 'Domain.Geography.GeographyItem' to type 'Domain.Geography.HotelData'.]
proto_14(Object , ProtoReader ) +2638
ProtoBuf.Serializers.CompiledSerializer.ProtoBuf.Serializers.IProtoSerializer.Read(Object value, ProtoReader source) in C:\Dev\protobuf-net\protobuf-net\Serializers\CompiledSerializer.cs:49
ProtoBuf.Meta.RuntimeTypeModel.Deserialize(Int32 key, Object value, ProtoReader source) in C:\Dev\protobuf-net\protobuf-net\Meta\RuntimeTypeModel.cs:413
ProtoBuf.ProtoReader.ReadTypedObject(Object value, Int32 key, ProtoReader reader, Type type) in C:\Dev\protobuf-net\protobuf-net\ProtoReader.cs:534
ProtoBuf.BclHelpers.ReadNetObject(Object value, ProtoReader source, Int32 key, Type type, NetObjectOptions options) in C:\Dev\protobuf-net\protobuf-net\BclHelpers.cs:428
proto_2(Object , ProtoReader ) +688
ProtoBuf.Serializers.CompiledSerializer.ProtoBuf.Serializers.IProtoSerializer.Read(Object value, ProtoReader source) in C:\Dev\protobuf-net\protobuf-net\Serializers\CompiledSerializer.cs:49
ProtoBuf.Meta.RuntimeTypeModel.Deserialize(Int32 key, Object value, ProtoReader source) in C:\Dev\protobuf-net\protobuf-net\Meta\RuntimeTypeModel.cs:413
ProtoBuf.Meta.TypeModel.DeepClone(Object value) in C:\Dev\protobuf-net\protobuf-net\Meta\TypeModel.cs:1034
ProtoBuf.Serializer.DeepClone(T instance) in C:\Dev\protobuf-net\protobuf-net\Serializer.cs:46