Dreamine.MVVM.Core 1.0.13
중요: 자동 등록된 타입은 기본적으로 Singleton으로 등록됩니다. 따라서 자동 발견된 ViewModel, Model, Event, Manager는 애플리케이션이 별도 수명으로 명시 등록하지 않는 한 반복 해석 시 동일 인스턴스를 유지합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.MVVM.Core.DMContainer 클래스 참조

더 자세히 ...

정적 Public 멤버 함수

static IServiceResolver GetResolver ()
static void SetContainer (IServiceContainer container)
static void Reset ()
static void Register< TImplementation > ()
static void Register< TService, TImplementation > ()
static void Register< TService > (Func< TService > factory)
static void RegisterSingleton< TService > (TService instance)
static void RegisterSingleton< TImplementation > ()
static void RegisterSingleton< TService, TImplementation > ()
static TService Resolve< TService > ()
static object Resolve (Type type)
static bool TryResolve< TService > (out TService? result)
static void AutoRegisterAll (Assembly rootAssembly)
static bool IsRegistered< TService > ()
static bool IsRegistered (Type serviceType)

정적 Private 멤버 함수

static DreamineContainer CreateDefaultContainer ()

정적 Private 속성

static readonly object SyncRoot = new()
static IServiceContainer Container = CreateDefaultContainer()

상세한 설명

DM Container 기능과 관련 상태를 캡슐화합니다.

DMContainer.cs 파일의 16 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ AutoRegisterAll()

void Dreamine.MVVM.Core.DMContainer.AutoRegisterAll ( Assembly rootAssembly)
inlinestatic

Auto Register All 작업을 수행합니다.

매개변수
rootAssemblyroot Assembly에 사용할 Assembly 값입니다.

이 멤버의 동작과 사용 시 고려 사항을 설명합니다.

DMContainer.cs 파일의 479 번째 라인에서 정의되었습니다.

480 {
481 DreamineAutoRegistrar.RegisterAll(rootAssembly, Container);
482 }

다음을 참조함 : Container, Dreamine.MVVM.Core.DreamineAutoRegistrar.RegisterAll().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ CreateDefaultContainer()

DreamineContainer Dreamine.MVVM.Core.DMContainer.CreateDefaultContainer ( )
inlinestaticprivate

Default Container 값을 생성합니다.

반환값
Create Default Container 작업에서 생성한 DreamineContainer 결과입니다.

DMContainer.cs 파일의 56 번째 라인에서 정의되었습니다.

57 {
58 var c = new DreamineContainer();
59 c.RegisterSingleton<IServiceResolver>(c);
60 return c;
61 }

다음에 의해서 참조됨 : Reset().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetResolver()

IServiceResolver Dreamine.MVVM.Core.DMContainer.GetResolver ( )
inlinestatic

Resolver 값을 가져옵니다.

반환값
Get Resolver 작업에서 생성한 IServiceResolver 결과입니다.

DMContainer.cs 파일의 100 번째 라인에서 정의되었습니다.

101 {
102 lock (SyncRoot) { return Container; }
103 }

다음을 참조함 : Container, SyncRoot.

◆ IsRegistered()

bool Dreamine.MVVM.Core.DMContainer.IsRegistered ( Type serviceType)
inlinestatic

Is Registered 조건을 확인합니다.

매개변수
serviceTypeservice Type에 사용할 Type 값입니다.
반환값
Is Registered 조건이 충족되면 true이고, 그렇지 않으면 false입니다.

DMContainer.cs 파일의 540 번째 라인에서 정의되었습니다.

541 {
542 ArgumentNullException.ThrowIfNull(serviceType);
543
544 lock (SyncRoot)
545 {
546 return Container.IsRegistered(serviceType);
547 }
548 }

다음을 참조함 : Container, SyncRoot.

◆ IsRegistered< TService >()

bool Dreamine.MVVM.Core.DMContainer.IsRegistered< TService > ( )
inlinestatic

Is Registered 조건을 확인합니다.

템플릿 파라메터
TServiceTService 형식 매개변수입니다.
반환값
Is Registered 조건이 충족되면 true이고, 그렇지 않으면 false입니다.

DMContainer.cs 파일의 508 번째 라인에서 정의되었습니다.

509 {
510 lock (SyncRoot)
511 {
512 return Container.IsRegistered(typeof(TService));
513 }
514 }

다음을 참조함 : Container, SyncRoot.

◆ Register< TImplementation >()

void Dreamine.MVVM.Core.DMContainer.Register< TImplementation > ( )
inlinestatic

Register 작업을 수행합니다.

템플릿 파라메터
TImplementationTImplementation 형식 매개변수입니다.
타입 한정자들
TImplementation :class 

DMContainer.cs 파일의 169 번째 라인에서 정의되었습니다.

170 : class
171 {
172 lock (SyncRoot)
173 {
174 Container.Register<TImplementation>();
175 }
176 }

다음을 참조함 : Container, SyncRoot.

◆ Register< TService >()

void Dreamine.MVVM.Core.DMContainer.Register< TService > ( Func< TService > factory)
inlinestatic

Register 작업을 수행합니다.

템플릿 파라메터
TServiceTService 형식 매개변수입니다.
매개변수
factoryfactory에 사용할 Func<TService> 값입니다.
타입 한정자들
TService :class 

DMContainer.cs 파일의 236 번째 라인에서 정의되었습니다.

237 : class
238 {
239 lock (SyncRoot)
240 {
241 Container.Register(factory);
242 }
243 }

다음을 참조함 : Container, SyncRoot.

◆ Register< TService, TImplementation >()

void Dreamine.MVVM.Core.DMContainer.Register< TService, TImplementation > ( )
inlinestatic

Register 작업을 수행합니다.

템플릿 파라메터
TServiceTService 형식 매개변수입니다.
TImplementationTImplementation 형식 매개변수입니다.
타입 한정자들
TService :class 
TImplementation :class 
TImplementation :TService 

DMContainer.cs 파일의 202 번째 라인에서 정의되었습니다.

203 : class
204 where TImplementation : class, TService
205 {
206 lock (SyncRoot)
207 {
208 Container.Register<TService, TImplementation>();
209 }
210 }

다음을 참조함 : Container, SyncRoot.

◆ RegisterSingleton< TImplementation >()

void Dreamine.MVVM.Core.DMContainer.RegisterSingleton< TImplementation > ( )
inlinestatic

Register Singleton 작업을 수행합니다.

템플릿 파라메터
TImplementationTImplementation 형식 매개변수입니다.
타입 한정자들
TImplementation :class 

DMContainer.cs 파일의 294 번째 라인에서 정의되었습니다.

295 : class
296 {
297 lock (SyncRoot)
298 {
299 Container.RegisterSingleton<TImplementation>();
300 }
301 }

다음을 참조함 : Container, SyncRoot.

◆ RegisterSingleton< TService >()

void Dreamine.MVVM.Core.DMContainer.RegisterSingleton< TService > ( TService instance)
inlinestatic

Register Singleton 작업을 수행합니다.

템플릿 파라메터
TServiceTService 형식 매개변수입니다.
매개변수
instanceinstance에 사용할 TService 값입니다.
타입 한정자들
TService :class 

DMContainer.cs 파일의 269 번째 라인에서 정의되었습니다.

270 : class
271 {
272 lock (SyncRoot)
273 {
274 Container.RegisterSingleton(instance);
275 }
276 }

다음을 참조함 : Container, SyncRoot.

◆ RegisterSingleton< TService, TImplementation >()

void Dreamine.MVVM.Core.DMContainer.RegisterSingleton< TService, TImplementation > ( )
inlinestatic

Register Singleton 작업을 수행합니다.

템플릿 파라메터
TServiceTService 형식 매개변수입니다.
TImplementationTImplementation 형식 매개변수입니다.
타입 한정자들
TService :class 
TImplementation :class 
TImplementation :TService 

DMContainer.cs 파일의 327 번째 라인에서 정의되었습니다.

328 : class
329 where TImplementation : class, TService
330 {
331 lock (SyncRoot)
332 {
333 Container.RegisterSingleton<TService, TImplementation>();
334 }
335 }

다음을 참조함 : Container, SyncRoot.

◆ Reset()

void Dreamine.MVVM.Core.DMContainer.Reset ( )
inlinestatic

Reset 작업을 수행합니다.

DMContainer.cs 파일의 140 번째 라인에서 정의되었습니다.

141 {
142 IServiceContainer previous;
143
144 lock (SyncRoot)
145 {
146 previous = Container;
147 Container = CreateDefaultContainer();
148 }
149
150 (previous as IDisposable)?.Dispose();
151 }

다음을 참조함 : Container, CreateDefaultContainer(), SyncRoot.

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ Resolve()

object Dreamine.MVVM.Core.DMContainer.Resolve ( Type type)
inlinestatic

Resolve 작업을 수행합니다.

매개변수
typetype에 사용할 Type 값입니다.
반환값
Resolve 작업에서 생성한 object 결과입니다.

DMContainer.cs 파일의 394 번째 라인에서 정의되었습니다.

395 {
396 ArgumentNullException.ThrowIfNull(type);
397
398 lock (SyncRoot)
399 {
400 return Container.Resolve(type);
401 }
402 }

다음을 참조함 : Container, SyncRoot.

다음에 의해서 참조됨 : Dreamine.MVVM.Core.Locators.DreamineContainerViewModelResolver.Resolve().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Resolve< TService >()

TService Dreamine.MVVM.Core.DMContainer.Resolve< TService > ( )
inlinestatic

Resolve 작업을 수행합니다.

템플릿 파라메터
TServiceTService 형식 매개변수입니다.
반환값
Resolve 작업에서 생성한 TService 결과입니다.
타입 한정자들
TService :class 

DMContainer.cs 파일의 361 번째 라인에서 정의되었습니다.

362 : class
363 {
364 lock (SyncRoot)
365 {
366 return Container.Resolve<TService>();
367 }
368 }

다음을 참조함 : Container, SyncRoot.

◆ SetContainer()

void Dreamine.MVVM.Core.DMContainer.SetContainer ( IServiceContainer container)
inlinestatic

Container 값을 설정합니다.

매개변수
containercontainer에 사용할 IServiceContainer 값입니다.

DMContainer.cs 파일의 122 번째 라인에서 정의되었습니다.

123 {
124 ArgumentNullException.ThrowIfNull(container);
125
126 lock (SyncRoot)
127 {
128 Container = container;
129 }
130 }

다음을 참조함 : Container, SyncRoot.

◆ TryResolve< TService >()

bool Dreamine.MVVM.Core.DMContainer.TryResolve< TService > ( out TService? result)
inlinestatic

Resolve 작업을 시도하고 성공 여부를 반환합니다.

템플릿 파라메터
TServiceTService 형식 매개변수입니다.
매개변수
resultresult에 사용할 TService 값입니다.
반환값
Try Resolve 조건이 충족되면 true이고, 그렇지 않으면 false입니다.
타입 한정자들
TService :class 

DMContainer.cs 파일의 436 번째 라인에서 정의되었습니다.

437 : class
438 {
439 try
440 {
441 lock (SyncRoot)
442 {
443 result = Container.Resolve<TService>();
444 return true;
445 }
446 }
447 catch (InvalidOperationException)
448 {
449 result = null;
450 return false;
451 }
452 }

다음을 참조함 : Container, SyncRoot.

멤버 데이터 문서화

◆ Container

◆ SyncRoot


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: