私たちは現在、アプリケーションでprotobuf-netを使用しています。逆シリアル化した後にプロパティを注入したいと思います。Spring.netとprotobuf:オブジェクトのインスタンス化
<object id="IDataFactory" type="Project.Impl.DataFactory, Project" />
はどのように言うことができる(または関連:直列化オブジェクトはSpring.config
ファイルにDataFactory
namespace Project
{
[ProtoContract]
public class Model
{
[ProtoMember]
public String Name { get; set; }
[ProtoIgnore]
public IDataFactory DataFactory { get; set; }
}
}
と呼ばれる性質を持っている場合
は、たとえば、あなたはあなたのインターフェイスの定義を持っています)、デシリアライズではプロパティーがIDataFactory
に設定されています。
オープンな質問ですので、お気軽にアイデアや提案を投稿してください。
protobuf-netライブラリのオブジェクトインスタンシエータをフックして、Spring.NETを使用してオブジェクトを作成し、プロパティを設定するのは素晴らしいことだと思います。私はこれをどうやってやることができると思いますか?
ありがとうございます!
理想的なシナリオ
私が直接protobuf
逆シリアル化後Spring.net
によって設定されたのDataFactoryを持っていると思います。
Model model = Serializer.Deserialize<Model>(stream);
Assert.IsNotNull(model.DataFactory);
Assert.IsTrue(model.DataFactory is DataFactory);
しかし、私は完全にはわかりません:protobuf-netは、実際の "Model"インスタンスを作成するための外部ファクトリメソッドと、シリアル化/逆シリアル化中に任意のポイントでコードを呼び出すためのシリアル化コールバックをサポートしています。それらのいずれかが使用されていますか? –
真剣に、私は春に精通していないが、私は本当にprotobufネットに精通している。あなたの理想的なシナリオが何であるかを明確にすれば、それは簡単にできると確信しています –
こんにちは、ありがとう、私は何をしたいのシナリオを追加しました。 –