私は契約で取る必要のあるもの(インターフェイスとして指定)に取り組んでいます。このインターフェイスを満たす正式に定義された具体的なクラスなしで、その場でインスタンスを作成します。実行時にインタフェースから具体的な型を生成するためのオープンソースライブラリ?
構文の例は、このようなものです:私は他の.NETライブラリやフレームワークは、このような振る舞いを(NServiceBusが頭に浮かぶ)を提供見てきました
IExampleMessage message = MessageBuilder.Create<IExampleMessage>(x => {
x.PropertyA = "Test";
x.PropertyB = 5;
});
、および存在する場合、私は思ったんだけどランタイムコードを抽象化した第三者のライブラリ。私はCastle DynamicProxyを見る場所だと思っていましたが、これはプロキシとインターセプトに完全に焦点を当てているようで、コード生成の面を明らかにしていないようです。
Reflection.Emitを使用してその場でクラスを作成する実装を書くことができますが、ソリッドなオープンソースライブラリがあればそれを使用したいと思います。
提案がありますか?
私は興味があります:メソッドとのインターフェイスはどのようにサポートされるのですか?どのようにその構文を持つメソッドのカスタム実装を指定するつもりですか? –
メソッドとのインターフェイスがサポートされていません –
BLTookitで同様のコードが見られました – adontz