Extension 클래스를 통해 기존 클래스를 확장하기

Category:
Author: zemna
Date: April 17, 2021
Share this:

C# 3.0 에서부터 새로 제공되는 기능으로 Extensions 라는 것이 있다.

이 것은 기존에 정의되어 있는 클래스를 확장할 수 있도록 해주는 방법이라고 할 수 있다. 백문이 불여일견이니 어떻게 하는지 한번 살펴보도록 하겠다.

일단 먼저 기본으로 제공되는 String에 현재의 문자열의 길이를 리턴해주는 GetStringLength() 라는 함수를 제공하도록 해보겠다.

프로젝트를 하나 생성하고 StringExtensions 라는 이름의 클래스를 하나 추가한 후 아래와 같이 코딩하도록 하자.

[code lang="csharp"] namespace ExtensionMethodTest { public static class StringExtensions { public static int GetTextLength(this string s) { return s.Length; } } } [/code]

이와 같이 코딩한 후 폼을 하나 추가하고 폼에서 String 변수를 하나 생성해서 아래와 같이 코딩하도록 하자.

[code lang="csharp"] using System; using System.Windows.Forms;

namespace ExtensionMethodTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

private void Form1_Load(object sender, EventArgs e) { string message = "Hello~~~~~"; MessageBox.Show(message.GetTextLength().ToString()); } } } [/code]

위와 같이 string 함수에 위에서 정의한 함수가 확장되어 들어가 있는 것을 볼 수 있다.

Share this:

Leave a Reply

Your email address will not be published. Required fields are marked *

Let's connect and create
something awesome together!
2023 - Copyright, All Rights Reserved, Made by ZEMNA.NET with ❤️
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram