[C# 문법] C# 확장 메서드
- C#/C# 문법
- 2021. 7. 23. 19:44
안녕하세요. 오늘은 C# 문법에서 확장 메서드에 대해서 알아 보려고 합니다. 확장 메서드는 정적 메서드를 선언하고서는 첫 번째 매개변수로 전달된 객체의 인스턴스 메서드를 호출하는 것처럼 코드를 작성해 주는 기능이라고 이해하시면 되겠습니다.
확장 메서드 선언 방법
- 확장 메서드를 선언할 때는 첫 번째 매개변수 앞에 this 키워드를 추가하기만 하면 됩니다.
- 중첩 클래스 내에는 선언할 수 없고, 제네릭이 아닌 정적 클래스 내에서도 선언할 수 없습니다.
확장 메서드 예제
using System;
namespace ConsoleApp7
{
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}
static class StudentExtensionMethod
{
public static string StudentInformation(this Student value)
=> $"{value.Id} {value.Name}";
}
static class ExtensionExampleMethod
{
public static void PrintMethod(this string input)
{
Console.WriteLine($"input : {input}");
}
public static void PrintMethod(this int number)
{
Console.WriteLine($"number : {number}");
}
}
class Program
{
static void Main(string[] args)
{
string input = "안녕하세요. 확장 메서드 예제 코드입니다.";
int number = 12345;
number.PrintMethod();
input.PrintMethod();
Student stu = new Student() { Id = 1, Name = "범범조조" };
Console.WriteLine($"학생 정보 : {stu.StudentInformation()}");
}
}
}
실행 결과
number : 12345
input : 안녕하세요. 확장 메서드 예제 코드입니다.
학생 정보 : 1 범범조조
- 아직은 확장 메서드에 대해서 이해가 긴가민가 하지만..그래도 익숙해질때까지 사용하면 언젠가는 완변히 이해하고 확장메서드를 사용할 날이 올거라 생각합니다.
- 이렇게 이번 포스팅에서는 확장 메서드 사용 방법에 대해서 알아 보았습니다.
728x90
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] C# 문자열 내 숫자만 필터하기 (0) | 2021.07.26 |
---|---|
[C# 문법] C# Closure : 반복문 내 람다식 사용 방법 (0) | 2021.07.25 |
[C# 문법] C# Linq 디버깅 하는 방법 (1) | 2021.07.23 |
[C# 문법] C# 특정 문자열 기준 맨 끝에서 자르기 (0) | 2021.07.15 |
[C# 문법] 문자열 비교 string.Compare 이용하여 대소문자 비교하기 (0) | 2021.07.12 |
이 글을 공유하기