(私はDryIocの作成者です)。
container.GetServiceRegistrations()
@fyodor-soikin が提案したように、登録情報を取得するために使用できます。
しかし、最新バージョン ( 2.0.0-rc3build339VerifyResolutions
)では、登録の欠落など、潜在的な解決の問題を診断するのに役立つメソッドを追加しました。ここでそれを説明するウィキ。
ウィキからの例:
// Given following SUT
public class RequiredDependency {}
public class MyService { public MyService(RequiredDependency d) {} }
// Let's assume we forgot to register RequiredDependency
var container = new Container();
container.Register<MyService>();
// Find what's missing
var results = container.VerifyResolutions();
Assert.AreEqual(1, results.Length);
結果がKeyValuePairsの配列であることを確認ServiceRegistrationInfo
します。ContainerException
この例では、登録情報は次のようになります。
ファクトリ {ID=14, ImplType=MyNamespace.MyService} として登録された MyNamespace.MyService
例外は次のとおりです。
DryIoc.ContainerException: MyNamespace.MyService のパラメーター "d" として MyNamespace.RequiredDependency を解決できません。
サービス登録が見つからず、Rules.FallbackContainers の数
: 0
および Rules.UnknownServiceResolvers の数: 0
アップデート:
この機能は、最新の安定版 DryIoc 2.0.0で利用できます。