KDT/C# 프로그래밍
23/07/27 Action 대리자
잰쟁
2023. 7. 27. 14:35
728x90
App 클래스
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using starcraft;
using System.Data;
namespace starcraft
{
public class App
{
//생성자
public App()
{
//영웅 생성
Hero hero = new Hero();
hero.attackComplete = () => {
Console.WriteLine("공격완료");
};
hero.Attack();
hero.Move(() => {
Console.WriteLine("이동완료");
});
}
}
}
Hero 클래스
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace starcraft
{
public class Hero
{
public Action attackComplete;
//생성자
public Hero()
{
Console.WriteLine("영웅이 생성되었습니다.");
Console.WriteLine();
}
//공격 메서드
public void Attack()
{
Console.WriteLine("공격중...");
Console.WriteLine("공격중...");
Console.WriteLine("공격중...");
Console.WriteLine("공격을 완료하였습니다.");
attackComplete();
}
//이동 매서드
public void Move(Action callback)
{
Console.WriteLine("이동중...");
Console.WriteLine("이동중...");
Console.WriteLine("이동중...");
Console.WriteLine("이동을 완료하였습니다.");
callback();
}
}
}