1
私は次のコードを使用していましたが、現在は使用していません。変更された唯一のものは今VS2010と.NET4を使用していますProtobuf-netと継承を使用しているときにこのランタイムエラーを修正する方法はありますか?
[ProtoContract]
[ProtoInclude(1, typeof(DerivedClass))]
public abstract class BaseClass
{
[ProtoMember(2)]
protected virtual string MyString { get; set; }
}
[ProtoContract]
public class DerivedClass : BaseClass
{
[ProtoMember (2)]
public readonly int SomeInt = 10;
protected override string MyString
{
get { return "dummy"; }
set { base.MyString = value; }
}
}
[Test]
public void Test()
{
var derived = new DerivedClass();
using (Stream s = new MemoryStream())
Serializer.Serialize(s, derived); // InvalidOperationException: Duplicate tag 2 detected in SomeInt
}
ここには何かがありますか?
私は...私は同じタグ番号を使用していますが、私はそれを単離することだろうと思った親プロパティをオーバーライドするときPBは両方のクラスに同じタグ番号にbarfingされていることを
@Marcはい、私はv1.0.0.282を使用しています。私はV2のダウンロードを見つけることができません。 –
@Stecy v2は現時点ではコード専用です。 ProtoIgnoreは何をしましたか?あなたはv2を試してみることを歓迎する以上のものです。それは正式にリリースされたものではありません。 –
ProtoIgnoreを試してみました。 –