본문 바로가기

프로그래밍/C#

c# delegate .. static 로도 된다!! 좋닼굳ㅋㅋ

 

 

요새 C# 으로 프로젝트해서 모르는거 짱 많은데도, 엄청 좋은걸 느끼고 있음ㅋㅋ

 

 

 

ConsoleApplication1.7z <<< 테스트 파일 다운로드

 

// 여긴 메인임!!!!!!!!!!!!!!!!!!!---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string [] args)
        {

            staticFile.Init();
            Session _Session = new Session();

            staticFile.Event();


            Console.ReadKey();
        }
    }
}




// 델리게이트를 호출할 파일임!!!!!!!!!---------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    static public class staticFile
    {
        public static void Init()
        {
            _logoutUser = Session.OnLogoutUser;
        }

        public static void Event()
        {
            _logoutUser(123);
        }

        static private Session.LogoutUser _logoutUser;
    }
}




// 이벤트 받아서 처리할곳임!!!!!!!!!! -------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    public class Session
    {
        public delegate void LogoutUser(int remote);
        static public void OnLogoutUser(int remote)
        {
            Console.WriteLine("call... {0}. param:{1}", testString, remote);
        }


        static public string testString = "hello delegate!";
    }
}