SampleCrossUi.Shared 1.0.0.0
SampleCrossUi.Shared 사용 방법을 보여 주는 예제 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
CounterEvent.cs
이 파일의 문서화 페이지로 가기
1using System;
2using System.Collections.ObjectModel;
5
7
16public sealed class CounterEvent
17{
26 private readonly ICounterService _service;
27
53 {
54 _service = service ?? throw new ArgumentNullException(nameof(service));
55 AddLog("Counter sample started.");
56 }
57
66 public int Count { get; private set; }
67
76 public ObservableCollection<CounterLogItem> Logs { get; } = new();
77
86 public event EventHandler? CountChanged;
87
96 public void Increment()
97 {
98 Count = _service.Increment(Count);
99 AddLog($"Incremented → {Count}");
100 CountChanged?.Invoke(this, EventArgs.Empty);
101 }
102
111 public void Reset()
112 {
113 Count = _service.Reset();
114 AddLog("Counter reset.");
115 CountChanged?.Invoke(this, EventArgs.Empty);
116 }
117
134 private void AddLog(string message)
135 {
136 Logs.Insert(0, new CounterLogItem(DateTime.Now, message));
137 }
138}
record CounterLogItem(DateTime CreatedAt, string Message)
ObservableCollection< CounterLogItem > Logs