S_pot
C#_MessageMap기법: 속성으로 문자와 delegate를 만들어 효율적으로 값을 호출 본문
class Program
{
delegate void SMART();
static void Test1()
{
Console.WriteLine("Test1");
}
static void Test2()
{
Console.WriteLine("Test2");
}
static void Test3()
{
Console.WriteLine("Test3");
}
// MessageMap 기법:
struct MessageMap
{
public string Name { get; set; } // 속성값 설정
public SMART Handle { get; set; }
}
static void Main(string[] args)
{
MessageMap[] Map = new MessageMap[]{
new MessageMap{Name = "일", Handle = Test1 }, // 속성값을 설정했기 때문에 값을 직접 입력할 수 있다.
new MessageMap{Name = "이", Handle = Test2 },
new MessageMap{Name = "삼", Handle = Test3 }
}
;
string command;
while(true)
{
Console.Write("명령을 입력하세요 : ");
command = Console.ReadLine();
foreach (var item in Map)
{
if(item.Name == command)
{
item.Handle();
}
}
if(command == "exit")
{
break;
}
}
}
}
'C#' 카테고리의 다른 글
C#_delegate2:익명메서드, 람다식 (0) | 2021.06.14 |
---|---|
C#_delegate2:익명메서드, 람다식 (0) | 2021.06.14 |
C#_delegate: 메서드를 변수로 사용하는 개념 (0) | 2021.06.14 |
C#_인터페이스의 장점: 기능을 빠트리지 않고 입력 (0) | 2021.06.04 |
C#_인터페이스: 다중상속 (0) | 2021.06.04 |