반응형
확장 메서드
: 기존의 클래스를 그대로 유지한 채로 메서드를 추가할 수 있는 방법을 제공한다.
- 여기서 this는 호출 객체를 의미하는 참조자가 아니라, 뒤의 클래스에 대한 확장 메서드임을 의미하는 지정자 이다.
using System;
public class Test
{
public int num = 0;
public Test(int num) { this.num = num; }
public int Plus(int a)
{
return a + num;
}
}
public static class TT {
public static int Minus(this Test t, int a) {
return t.num - a;
}
}
class CExample
{
static void Main()
{
Test test = new Test(10);
Console.WriteLine("더하기: " + test.Plus(3));
Console.WriteLine("빼기: " + test.Minus(5));
}
}
2. 람다 표현식
- 인수의 타입을 생략할 수 있다.
- 표현식 트리로도 변환할 수 있다.
인자 타입은 델리게이트 인자 타입으로 추론 가능
delegate(int a){return a + 1;};
a => a + 1;
using System;
delegate int dele(int a);
class Example1
{
static void Main()
{
dele d = a => a + 1;
int num = d(5);
Console.WriteLine("num = " + num);
}
}
반응형
'IT Study > C#' 카테고리의 다른 글
[C#] MDI (Multiple Document Interface) (0) | 2021.03.13 |
---|---|
[C#] 리플렉션(Reflection), 애트리뷰트(Attribute) (0) | 2021.03.04 |
[C#] 프로퍼티(Property), 익명 타입 (0) | 2021.01.25 |
[C#] 암묵적 타입 (0) | 2021.01.25 |
[C#] 스레딩(Threading) (0) | 2021.01.25 |
댓글