.Net 에서 흔히 볼 수 있 는 질문 의 C\#의 의뢰
뭐 공부 해요?
실제 개발 과정 에서 어떤 방법 으로 실 행 된 조작 은 데이터 에 대한 것 이 아니 라 다른 방법 에 대한 것 이기 도 하지만 이 방법 은 컴 파일 할 때 알 수 없고 실행 할 때 만 알 수 있다.만약 에 데 이 터 를 조작 하 는 것 이 라면 데 이 터 를 방법의 매개 변수 로 전달 하면 된다.그러면 방법 에 대해 조작 을 하면 방법 을 매개 변수 로 전달 하면 된다.이상 하 게 들 리 지만 이 현실 을 먼저 받 아들 이 고 사용 에서 그 의 미 를 이해 해 야 한다.다음은 예 를 들 어(제 영 어 를 용서해 주세요.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 연락처
이상 의 내용 은 의뢰 소개 에 대한 모든 내용 입 니 다.마음 에 드 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.