Dreamine.MVVM.Core
1.0.13
중요: 자동 등록된 타입은 기본적으로 Singleton으로 등록됩니다. 따라서 자동 발견된 ViewModel, Model, Event, Manager는 애플리케이션이 별도 수명으로 명시 등록하지 않는 한 반복 해석 시 동일 인스턴스를 유지합니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
AssemblyTypeScanner.cs
이 파일의 문서화 페이지로 가기
1
using
System;
2
using
System.Collections.Generic;
3
using
System.Linq;
4
using
System.Reflection;
5
using
Dreamine.MVVM.Interfaces.DependencyInjection;
6
7
namespace
Dreamine.MVVM.Core.AutoRegistration
8
{
17
public
sealed
class
AssemblyTypeScanner
: IAssemblyTypeScanner
18
{
51
public
IEnumerable<Assembly>
GetCandidateAssemblies
(Assembly rootAssembly)
52
{
53
if
(rootAssembly is
null
)
54
{
55
throw
new
ArgumentNullException(nameof(rootAssembly));
56
}
57
58
return
AppDomain.CurrentDomain
59
.GetAssemblies()
60
.Where(assembly => !assembly.IsDynamic && !
string
.IsNullOrWhiteSpace(assembly.FullName))
61
.Prepend(rootAssembly)
62
.Distinct();
63
}
64
97
public
IEnumerable<Type>
GetLoadableTypes
(Assembly assembly)
98
{
99
if
(assembly is
null
)
100
{
101
throw
new
ArgumentNullException(nameof(assembly));
102
}
103
104
try
105
{
106
return
assembly.GetTypes();
107
}
108
catch
(ReflectionTypeLoadException ex)
109
{
110
return
ex.Types.Where(type => type is not
null
)!;
111
}
112
}
113
}
114
}
Dreamine.MVVM.Core.AutoRegistration
Definition
AssemblyTypeScanner.cs:8
Dreamine.MVVM.Core.AutoRegistration.AssemblyTypeScanner
Definition
AssemblyTypeScanner.cs:18
Dreamine.MVVM.Core.AutoRegistration.AssemblyTypeScanner.GetLoadableTypes
IEnumerable< Type > GetLoadableTypes(Assembly assembly)
Definition
AssemblyTypeScanner.cs:97
Dreamine.MVVM.Core.AutoRegistration.AssemblyTypeScanner.GetCandidateAssemblies
IEnumerable< Assembly > GetCandidateAssemblies(Assembly rootAssembly)
Definition
AssemblyTypeScanner.cs:51
AutoRegistration
AssemblyTypeScanner.cs
다음에 의해 생성됨 :
1.17.0