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 변수에서 사용할 수 있게 한 것입니다.

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