더북(TheBook)

49.3 확장 메서드로 기존 형식에 새로운 메서드 추가하기

이번에는 확장 메서드의 또 다른 예제를 사용해 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

확장 메서드를 사용하여 기존 형식에 새로운 메서드 추가: ExtensionMethodDemo.cs

using System;

namespace ExtensionMethodDemo
{
    public static class MyClass
    {
        public static int WordCount(this String str)
        {
            return str.Split(new char[] { ' ', '.', '?' },
                StringSplitOptions.RemoveEmptyEntries).Length;
        }
    }

    class ExtensionMethodDemo
    {
        static void Main()
        {
            string s = "안녕하세요? 확장 메서드... ...";
            Console.WriteLine(s.Length);      //① 문자 개수
            Console.WriteLine(s.WordCount()); //② 단어 개수
        }
    }
}

실행 결과

20
3

문자열 변수 s에는 원래 WordCount()라는 메서드가 없지만, 같은 네임스페이스에 정의된 MyClassWordCount() 확장 메서드를 s 변수에서 사용할 수 있게 한 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.