MessagePack を使用して、インターフェイス型のプロパティを持つオブジェクトをシリアル化しようとしています。を呼び出すと、インターフェースに対してシリアライザーが定義されていないというPack
メッセージがスローされます。SerializationException
コード例:
namespace ConsoleApplication1
{
// interfaces and classes declaration
public interface IDummyInterface { }
public class DummyObject : IDummyInterface
{
public string Value { get; set; }
}
public class SmartObject
{
public string Name { get; set; }
IDummyInterface DummyOne { get; set; }
}
// in main
var mySmartObject = new SmartObject() { Name = "Yosy", DummyOne = new DummyObject() { Value = "Value"} };
using(var stream = new MemoryStream())
{
var serializer = MessagePackSerializer.Create<SmartObject>();
serializer.Pack(mySmartObject, stream); // => This code throws the exception
}
}
IDummyInterface に使用するシリアライザーを MessagePack に指示し、DummyObject として機能するように指示できますか?