Получение сборок с именем класса "Entity" из папки сборки - PullRequest
0 голосов
/ 25 июня 2019

Я хочу получить сборки, содержащиеся в имени класса Entity. Например, ProductEntity должен быть в возвращенной сборке

В настоящее время я получаю все сборки от AppDomain.CurrentDomain.GetAssemblies(); Я фильтрую их по ссылке, и после этого я пытаюсь получить имя класса с помощью Assembly.GetType().Name Это возвращает мне массив с "runtimeAssembly" в нем и ничего больше.

var assemblyFromClass = (from asm in AppDomain.CurrentDomain.GetAssemblies()
                               from type in asm.GetTypes()
                               where type.IsClass && type.Name.Contains("Entity") &&
                                      asm.ManifestModule.Name != "<In Memory Module>"
                                          && !asm.FullName.StartsWith("System")
                                          && !asm.FullName.StartsWith("Microsoft")
                                          && asm.Location.IndexOf("App_Web") == -1
                                          && asm.Location.IndexOf("App_global") == -1
                                          && asm.FullName.IndexOf("CppCodeProvider") == -1
                                          && asm.FullName.IndexOf("WebMatrix") == -1
                                          && asm.FullName.IndexOf("SMDiagnostics") == -1
                                          && !String.IsNullOrEmpty(asm.Location)
                               select asm.GetType().FullName).ToList(); 

https://gyazo.com/e8687c49073ac3f46e0def8e927cc314

Это то, что я получаю обратно. Я ожидаю ProductEntity, BlablaEntity Etc

1 Ответ

2 голосов
/ 27 июня 2019
var assemblyFromClass  = (from asm in AppDomain.CurrentDomain.GetAssemblies()
               from type in asm.GetTypes()
               where type.Name.Contains("Entity") &&
                     asm.ManifestModule.Name != "<In Memory Module>"
                     && !asm.FullName.StartsWith("System")
                     && !asm.FullName.StartsWith("Microsoft")
                     && asm.Location.IndexOf("App_Web") == -1
                     && asm.Location.IndexOf("App_global") == -1
                     && asm.FullName.IndexOf("CppCodeProvider") == -1
                     && asm.FullName.IndexOf("WebMatrix") == -1
                     && asm.FullName.IndexOf("SMDiagnostics") == -1
                     && !String.IsNullOrEmpty(asm.Location)
               select type.Name).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...