본문 바로가기
C#/WPF

[WPF] 생성자 Overloading

by HJ0216 2024. 4. 27.

WPF 프로젝트를 연습해보다가 프로젝트를 개선할 수 있는 방법을 찾아서 정리하고자 합니다.

 

Window안에 UserControl을 선언해서 View-ViewModel간의 데이터를 전달하는 경우가 많았습니다.

 

특히, 여러 곳에서 호출되는 View-ViewModel은 다양한 초기 데이터를 받게됩나다.

 

기존에는 생성자 Overriding을 했었고, 일정 부분 코드가 중복되는 건 어쩔 수 없다고 생각했습니다.

 

그 때, 찾아낸 BASE에 대해 정리해봅니다.

 

 

기존 ViewModel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public ViewModelMain(string data1)
{
    Data1 = data1;
}
public ViewModelMain(string data1, string data2)
{
    Data1 = data1;
    Data2 = data2;
}
public ViewModelMain(string data1, string data2, string data3)
{
    Data1 = data1;
    Data2 = data2;
    Data3 = data3;
}

 

상속 ViewModel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public ViewModelMain(string data1)
{
    Data1 = data1;
}
 
public ViewModelMain(string data1, string data2) : this(data1)
{
    Data2 = data2;
}
 
public ViewModelMain(string data1, string data2, string data3) : this(data1, data2)
{
    Data3 = data3;
}

⭐ 초기화 로직의 중복을 줄일 수 있음

중복을 제거하여 수정 시, 유지보수성을 높임

 

'C# > WPF' 카테고리의 다른 글

[WPF] View, ViewModel Singleton  (0) 2024.05.12
[WPF] 생성자 Overloading (2)  (0) 2024.05.11
[WPF] 한글 Encoding ANSI / UTF8  (0) 2024.04.22
[WPF] Static Resource와 Dynamic Resource  (0) 2024.04.20
[WPF] MaterialDesignTheme 적용  (0) 2024.04.13