โ ํ์ฅ ๋ฉ์๋ (Extension Method)
๊ธฐ์กด ํด๋์ค์ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ถ๊ฐํ ์ ์๋ ๊ธฐ๋ฅ์ผ๋ก ๊ธฐ์กด ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ํด๋์ค์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ, ํนํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์์ํฌ์ฒ๋ผ ์ด๋ฏธ ์ธ๋ถ์ ์ ์๋์ด ์๋ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ ๋ ์ ์ฉํ๋ค.
โ ํน์ง
1. ์ ์ (static) ๋ฉ์๋๋ก ์ ์๋๋ค.
2. ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ก this ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฅํ๋ ค๋ ํด๋์ค๋ ์ธํฐํ์ด์ค๋ฅผ ์ง์ ํ๋ค.
3. ํ์ฅ ๋ฉ์๋๋ ๋ฐ๋์ ์ ์ ํด๋์ค ๋ด์์ ์ ์๋์ด์ผ ํ๋ค.
// ์ ์ ํด๋์ค ๋ด์ ์ ์
public static class StringHelper
{
// ํ์ฅ ๋ฉ์๋ ์ ์
public static int GetLength(this string str)
{
return str.Length;
}
}
string myString = "Hello, World!";
int length = myString.GetLength(); // ํ์ฅ ๋ฉ์๋ ํธ์ถ
โ ์ฃผ์ ์ฌํญ
1. ๋์ผํ ์ด๋ฆ์ ์ธ์คํด์ค ๋ฉ์๋๊ฐ ์กด์ฌํ ๊ฒฝ์ฐ ํ์ฅ ๋ฉ์๋๋ ํธ์ถ๋์ง ์๋๋ค.
2. ํ์ฅ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํ์ฅ ๋ฉ์๋๊ฐ ์ ์๋ ์ ์ ํด๋์ค๊ฐ ํฌํจ๋ ๋ค์์คํ์ด์ค๋ฅผ using ์ง์๋ฌธ์ผ๋ก ๊ฐ์ ธ์์ผ ํ๋ค.
'๐ C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| object ํ์ , ๋ฐ์ฑ, ์ธ๋ฐ์ฑ (0) | 2024.08.19 |
|---|---|
| ์ ๊ท ํํ์ (Regular Expression) (0) | 2024.08.14 |
| ๋ฒ์ ํํ์ (Range Expression) (0) | 2024.08.08 |
| var ํค์๋ (0) | 2024.07.28 |
| as, is ํค์๋ (0) | 2024.07.19 |