В настоящее время в нашем приложении используется protobuf-net, и я хотел бы добавить свойства после десериализации.
например, если объект сериализации имеет свойство с именем DataFactory
namespace Project
{
[ProtoContract]
public class Model
{
[ProtoMember]
public String Name { get; set; }
[ProtoIgnore]
public IDataFactory DataFactory { get; set; }
}
}
в файле Spring.config
, у вас есть определение вашего интерфейса:
<object id="IDataFactory" type="Project.Impl.DataFactory, Project" />
Как можно сказать (или связать), что десериализация устанавливает свойство IDataFactory
.
Это нерешенный вопрос, поэтому, пожалуйста, не стесняйтесь поделиться с нами идеями или предложениями.
Я думаю, было бы здорово подключить объектный экземпляр библиотеки protobuf-net, чтобы он использовал Spring.NET для создания объекта и затем устанавливал свойства. Как вы думаете, я мог бы сделать это?
Спасибо!
Идеальный сценарий
Я бы хотел, чтобы DataFactory был установлен непосредственно Spring.net
после десериализации protobuf
.
Model model = Serializer.Deserialize<Model>(stream);
Assert.IsNotNull(model.DataFactory);
Assert.IsTrue(model.DataFactory is DataFactory);