c\#의뢰 와 이벤트(상세 설명)

머리말.NET의 의뢰 는 하나의 유형 으로 방법의 유형 을 정의 하고 하나의 방법 용기 이다.방법 을 매개 변수 로 위탁 하면 프로그램 에서 조건 판단 문 구 를 대량으로 사용 하 는 상황 을 피 할 수 있다.
항목 명Test,class유형 명Program성명 방법class류 에서 몇 가지 방법 을 설명 하여 위탁 하여 사용 하도록 한다.

using System;
namespace Test
{
    class Program
    {
        /// <summary>
        ///          
        /// </summary>
        /// <param name="num1">int  </param>
        /// <param name="num2">int  </param>
        /// <returns></returns>
        public static int max(int num1, int num2)
        {
            return num1 > num2 ? num1 : num2;//  num1  num2 ,   num1,    num2
        }
        /// <summary>
        ///          
        /// </summary>
        /// <param name="num1">int  </param>
        /// <param name="num2">int  </param>
        /// <returns></returns>
        public static int min(int num1, int num2)
        {
            return num1 > num2 ? num2 : num1;//  num1  num2 ,   num2,    num1
        }
        static void Main(string[] args)
        {
        }
    }
}
2.성명 의뢰
성명 시delegate키 워드 를 사용 하여 의뢰 를 성명 하고 의뢰 성명 은System.Delegate류 에서 파생 된 종 류 를 정의 합 니 다. 수 요 는 ,매개 변 수 는 입력 방법의 매개 변수 목록 과 같 아야 합 니 다.
전방 에 도 접근 수정자private,public등 을 추가 할 수 있다.
성명 의뢰:delegate[ ][ ] 1, 2,...);

using System;
namespace Test
{
    class Program
    {
        delegate int De(int num1,int num2);
        /// <summary>
        ///          
        /// </summary>
        /// <param name="num1">int  </param>
        /// <param name="num2">int  </param>
        /// <returns></returns>
        public static int max(int num1, int num2)
        {
            return num1 > num2 ? num1 : num2;//  num1  num2 ,   num1,    num2
        }
        /// <summary>
        ///          
        /// </summary>
        /// <param name="num1">int  </param>
        /// <param name="num2">int  </param>
        /// <returns></returns>
        public static int min(int num1, int num2)
        {
            return num1 > num2 ? num2 : num1;//  num1  num2 ,   num2,    num1
        }
        static void Main(string[] args)
        {
        }
    }
}
3.실례 화 의뢰
의뢰 클래스 를 정의 하면 의뢰 클래스 의 인 스 턴 스 를 만 들 수 있 으 며,실례 화 의뢰 방식 은 두 가지 가 있 습 니 다.
실례 화 의뢰 방식 1:[ ] =new ( );실례 화 의뢰 방식 2:[ ] = ;

using System;
namespace Test
{
    class Program
    {
        delegate int De(int num1,int num2);
        /// <summary>
        ///          
        /// </summary>
        /// <param name="num1">int  </param>
        /// <param name="num2">int  </param>
        /// <returns></returns>
        public static int max(int num1, int num2)
        {
            return num1 > num2 ? num1 : num2;//  num1  num2 ,   num1,    num2
        }
        /// <summary>
        ///          
        /// </summary>
        /// <param name="num1">int  </param>
        /// <param name="num2">int  </param>
        /// <returns></returns>
        public static int min(int num1, int num2)
        {
            return num1 > num2 ? num2 : num1;//  num1  num2 ,   num2,    num1
        }
        static void Main(string[] args)
        {
            De test1 = new De(max);//           
            De test2 = new De(min);//           
        }
    }
}
4.사용 의뢰
이전 단계 에서test1는 위탁De과 방법max과 관련 된 실례 화 대상 이다.test2의뢰De방법min과 관련 된 실례 화 대상
이후max방법 을 사용 해 야 한다 면test1( )을 통 해 이 방법 을 호출 하 라.
이후min방법 을 사용 해 야 한다 면test2( )을 통 해 이 방법 을 호출 하 라.
들 어 오 는 매개 변 수 는 방법 이 정의 하 는 인삼 과 같은 유형,같은 개수 가 필요 합 니 다.
在这里插入图片描述

using System;
namespace Test
{
    class Program
    {
        delegate int De(int num1,int num2);
        /// <summary>
        ///          
        /// </summary>
        /// <param name="num1">int  </param>
        /// <param name="num2">int  </param>
        /// <returns></returns>
        public static int max(int num1, int num2)
        {
            return num1 > num2 ? num1 : num2;//  num1  num2 ,   num1,    num2
        }
        /// <summary>
        ///          
        /// </summary>
        /// <param name="num1">int  </param>
        /// <param name="num2">int  </param>
        /// <returns></returns>
        public static int min(int num1, int num2)
        {
            return num1 > num2 ? num2 : num1;//  num1  num2 ,   num2,    num1
        }
        static void Main(string[] args)
        {
            De test1 = new De(max);//           
            De test2 = new De(min);//           
            Console.WriteLine("max  :{0}",test1(10, 20));//  max  ,         
            Console.WriteLine("min  :{0}",test2(10,20));//  min  ,         
        }
    }
}
총결산
이 글 은 여기까지 입 니 다.도움 이 되 고 싶 습 니 다.저희 의 더 많은 내용 에 관심 을 가 져 주 셨 으 면 좋 겠 습 니 다!

좋은 웹페이지 즐겨찾기