C\#익명 방법
4543 단어 C#
익명 의 방법 을 사용 할 때 코드 가 빨리 실행 되 지 않 고 컴 파일 러 는 하나의 방법 을 정 의 했 습 니 다.이 방법 은 자동 으로 지정 한 이름 이 있 습 니 다.우 리 는 이 이름 을 알 필요 가 없습니다.
익명 으로 지 키 는 규칙:
(1)익명 방법 에 서 는 점프 문(break,goto 또는 continue)을 사용 하여 이 익명 방법의 외부 로 뛰 어 내 릴 수 없 으 며,반대로 익명 방법 외부의 점프 문 구 는 이 익명 방법의 내부 로 뛰 어 내 릴 수 없다.
(2)익명 방법 외부 에서 사용 하 는 ref 와 out 매개 변 수 는 접근 할 수 없 지만 익명 방법 외부 에서 정의 하 는 다른 변 수 를 사용 할 수 있 습 니 다.
예 는 다음 과 같다.
delegate string MyDelegate(string val);
var str1 = " ";
// ,
MyDelegate my = delegate(string param)
{
var str2 = " ";
return param + str1 + str2;
};
//
Console.WriteLine(my(" ")); // :
C\#3.0 이후 익명 방법 은 Lambda 를 사용 하여 정의 할 수 있 습 니 다.다시 말 하면 Lambda 표현 식 은 익명 방법의 또 다른 표현 형식 입 니 다.
var str1 = " ";
var str2 = " ";
MyDelegate my = param => param + str1 + str2;
Console.WriteLine(my(" ")); // :
호출 과정 에서 의 협 변 과 역 변 을 위탁 하 다.
매개 변수 유형:매개 변수 유형 은 역 변 에 주의해 야 합 니 다.
의뢰 에 전 달 된 매개 변수 유형 은 의뢰 방법의 매개 변수 유형 에 파생 될 수 있 습 니 다.
public class A { }
public class B : A { }
public delegate void MyDelegate(B b);
MyDelegate my = Method;
my(new B());
static void Method(A a)
{
}
반환 유형:반환 유형 은 협 변 에 주의해 야 합 니 다.
방법의 반환 유형 은 위탁 정의 유형 에 파생 될 수 있다.
public class A { }
public class B : A { }
public delegate A MyDelegate();
MyDelegate my = Method;
my();
static B Method()
{
return new B();
}
위 에서 보 듯 이 협 변 과 역 변 의 근본 원인 은 계승 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.