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 ,
}
}
}
총결산이 글 은 여기까지 입 니 다.도움 이 되 고 싶 습 니 다.저희 의 더 많은 내용 에 관심 을 가 져 주 셨 으 면 좋 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.