반응형

Extension Method란?


Extension Method는 정식 라이브러리에서 제공하는 클래스들에 함수를 추가하는 기능을 말합니다.

 

내가 만든 함수가 print 함수라고 쳤을 때 String 클래스에다가 추가시켜서

String.print();

이런 느낌으로 사용 가능합니다.

 

구현하기


구현하기 위한 조건 4가지가 있습니다.

  1. static 클래스
  2. static 함수
  3. 함수가 추가될 클래스는 첫 인자
  4. 추가될 클래스는 this 표시

출처 : 내꺼

보시면 함수가 추가될 클래스인 GameObject라 함수 첫 인자로, 첫 인자는 this로 표시해서 구현할 수 있습니다.

 

2번째 함수인 AddUIEvent함수 첫 줄에 확장한 메소드를 바로 사용하는것을 볼 수 있죠

기존에는 GameObject 클래스 내에 F_GetComponent라는 메소드가 없지만 추가되서 사용할 수 있게 했습니다.

 

 

 

※ 별거 아닌 내용 : 인터페이스에 선언된 메소드도 확장 메소드로 정의할 수 있지만 어차피 클래스 내에서 정의 되어야하니 의미가 없다.

 

 

References

https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods

 

Extension Methods - C# Programming Guide - C#

Extension methods in C# enable you to add methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.

learn.microsoft.com

 

반응형

'C#' 카테고리의 다른 글

[C#] 구글 프로토 버퍼 .proto 문법 정리  (0) 2024.04.23
[C#] Task 와 Thread의 차이점  (0) 2023.10.26
원피스는 실존하다