using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp16
{
    internal class App
    {
        
        //생성자
        public App() 
        {
            

            DataManager.instance.loadComplete = () =>          //대리자를 정의하고 데이터로드가 완료되면 대리자를 호출해라
            {
                Console.WriteLine("데이터 로드 완료!");
            };
            DataManager.instance.LoadDatas(); //데이터 로드중.. 
            
        }
       
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp16
{
    internal class DataManager
    {
        public Action loadComplete;
        public static readonly DataManager instance = new DataManager();
        public DataManager() 
        { 

        }
        public void LoadDatas()
        {
            Console.WriteLine("데이터 로드중....");
            Console.WriteLine("데이터 로드중....");
            Console.WriteLine("데이터 로드중....");
            Console.WriteLine("데이터 로드중....");
            Console.WriteLine("데이터 로드중....");
            Console.WriteLine("데이터 로드중....");
            Console.WriteLine("데이터 로드중....");
            Console.WriteLine("데이터가 로드 되었습니다.");

            this.loadComplete();
        }

    }
}

'KDT > C# 프로그래밍' 카테고리의 다른 글

대리자 연습(1)  (0) 2023.07.27
싱글톤 패턴으로 대리자 호출하기(2)  (0) 2023.07.27
몬스터 사냥 시뮬레이터  (0) 2023.07.26
<Dictionary> 왜 검색이 빠른가?  (0) 2023.07.26
싱글톤 패턴  (0) 2023.07.26

+ Recent posts