.Net 에서 흔히 볼 수 있 는 질문 의 C\#의 의뢰

2862 단어 C#의뢰 하 다.
의뢰 와 C++의 함수 포인터 가 비슷 하 다 는 친구 도 있 지만 둘 은 정말 차이 가 있다.C++에서 함수 지침 은 유형 이 안전 한 것 이 아니 라 메모리 의 특정한 위 치 를 가리 키 지만 우 리 는 이 지침 이 실제 가리 키 는 것 이 무엇 인지 판단 할 방법 이 없고 매개 변수 와 반환 유형 에 대해 더욱 판단 하기 어렵다.그러나.NET 의 의뢰 는 완전히 다 릅 니 다.유형 이 비교적 안전 한 유형 입 니 다.우 리 는 의뢰 정의 의 반환 유형 과 매개 변수 유형 을 잘 알 고 있 습 니 다.그것 은 방법의 인용 을 포함 할 뿐만 아니 라 방법의 인용 도 포함한다.다음은 코드 를 통 해 의뢰 에 대한 이 해 를 공유 합 니 다.
뭐 공부 해요?
실제 개발 과정 에서 어떤 방법 으로 실 행 된 조작 은 데이터 에 대한 것 이 아니 라 다른 방법 에 대한 것 이기 도 하지만 이 방법 은 컴 파일 할 때 알 수 없고 실행 할 때 만 알 수 있다.만약 에 데 이 터 를 조작 하 는 것 이 라면 데 이 터 를 방법의 매개 변수 로 전달 하면 된다.그러면 방법 에 대해 조작 을 하면 방법 을 매개 변수 로 전달 하면 된다.이상 하 게 들 리 지만 이 현실 을 먼저 받 아들 이 고 사용 에서 그 의 미 를 이해 해 야 한다.다음은 예 를 들 어(제 영 어 를 용서해 주세요.my english is poor!)이런 장면 은 중매쟁이 가 버섯 에 게 차 갑 거나 총각 에 게 상 대 를 소개 해 주 는 장면 이다.상대 가 남자 라면 버섯 이 차 가워 서 연락 처 를 말 하고 여자 라면 총각 은 그의 연락 처 를 말한다(PS:우 리 는 모두 정상 적 인 성적 취향 이다).
코드 맵 을 보 겠 습 니 다.

네 임 스페이스 에서 의뢰 를 정의 합 니 다.클래스 와 같은 등급 입 니 다.
 

 public delegate string GetTelphone();
/연락 처 를 얻 는 데 쓰 인 다.
요약 에서 언급 한 바 와 같이 의뢰 는 반환 유형 과 매개 변수 유형 을 정의 할 수 있 습 니 다.그러면 이 의뢰 의 반환 유형 은 string 이 고 참여 하지 않 습 니 다.
계속
매파 류:

/// <summary>
///   
/// </summary>
class MeiPo
{
  public string Sex { get; set; }
  public void GetTel(GetTelphone getTelphone)
  {
    Console.WriteLine(getTelphone.Invoke());
  }
}
이 를 통 해 알 수 있 듯 이 GetTel 방법의 매개 변 수 는 의뢰 유형 으로 일반적인 기본 유형 과 일반적인 참조 유형 참조 방식 처럼 사용 된다.그리고 의뢰 방법 을 수행 하여 결 과 를 출력 합 니 다.
버섯 냉 류:

/// <summary>
///   
/// </summary>
class Girl
{
  public string GetGirlTel()
  {
    return "       ";
  }
}
젊은이:
  

 /// <summary>
  ///   
  /// </summary>
  class DiaoSi
  {
    public string GetBoyTel()
    {
      return "       ";
    }
  }
마지막 테스트 클래스
       

static void Main(string[] args)
    {
      var redMun = new MeiPo {Sex = " "};
      var del= new GetTelphone(new Girl().GetGirlTel);
      if(redMun.Sex==" ")
        del = new GetTelphone(new DiaoSi().GetBoyTel);
      redMun.GetTel(del);

      Console.ReadKey();
    }

실행 단계:
1.중매쟁이 상 대 를 만 들 고 중매쟁이 가 섹스='남'을 소개 한다.
2.의뢰 대상 을 만 들 고 의뢰 는 하나의 클래스 이 므 로 new 로 예화 합 니 다.의뢰 란 방법의 인용 을 말 합 니 다.초기 화 할 때 가리 키 는 방법 으로 new Girl().GetGrilTel 을 참조 합 니 다.
3.만약 에 중매쟁이 가 섹스='여자'를 소개 한다 면 의뢰 는 다른 방법 을 가리킨다.
4,중매쟁이 대상 호출 GetTel 연락처
이상 의 내용 은 의뢰 소개 에 대한 모든 내용 입 니 다.마음 에 드 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기