私は次のコードを書きましたが、それを改善しようとしています。Unity DI を使用して、具象クラスとそれらが実装するインターフェイスを登録する必要があります。この方法の利点は、追加された新しいクラスを登録し続ける必要がなくなることです。
私はコードを
IUnityContainer コンテナー = 新しい UnityContainer(); // から // 工場 // container.RegisterType(); // サービス // container.RegisterType(); // container.RegisterType(); //...... // に var アセンブリ = AppDomain.CurrentDomain.GetAssemblies() .Where(x => x.GetName().Name.Contains("Romabravo.ApplicationManager")); foreach (アセンブリ内の var アセンブリ) { var タイプ = assembly.GetExportedTypes(); foreach (型に t を入力) { var インターフェイス = t.GetInterfaces().Where(x => x.FullName != null && x.FullName.Contains("Romabravo.ApplicationManager")).ToList(); foreach (インターフェイスの var 項目) { var interfaceImplementers = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(s => s.GetTypes()) .Where(p => item.GetTypeInfo().IsAssignableFrom(p) && item.FullName.Contains("Romabravo.ApplicationManager")) .Select(x => x).Where(x => !x.IsInterface && !x.IsAbstract).ToList(); if (interfaceImplementers != null) { foreach (interfaceImplementers の var 実装者) { container.RegisterType(アイテム、実装者); } } } } } 返却コンテナ;
さらに最適化する方法を探しているだけです。