Blog Content

    티스토리 뷰

    80.C# - 확장메서드

    반응형

    확장 메서드 : 기존 클래스의 외부에서 메서드 추가 static 메서드로
    새 파생형식을 만들거나 다시 컴파일 또는, 원래 형식을 수정안해도 기존 형식의
    메서드를 "추가" 할 수 있습니다.


    덧셈하기 위한 클래스에 뺄셈기능을 추가하고자 할때 확장 메서드 사용하는 예제

    Program.cs
    using System;
    public class Calc
    {
        public int plus(int a, int b) { return (a + b); }
    }

    public static class CalcExtension //확장메서드 사용한 클래스 선언
    {
        public static int Minus(this Calc c, int a, int b)  { return (a - b); }
    }

    public class 확장메서드
    {
        public static void Main()
        {
            Calc c = new Calc();
            Console.WriteLine(c.plus(3, 5));
            Console.WriteLine(c.Minus(3, 5));

            string s = "확장메서드";
            Console.WriteLine("{0}",s.ShowTitle()); //***확장메서드***
           
            int i = -10;
            Console.WriteLine("절대값 : {0}",i.Abs()); //확장       
        }
    }

    //CLR에 이미 만들어져 있는 string 클래스 확장
    public static class StringExtension
    {
        public static string ShowTitle(this string s) {
            return "***" + s + "***";
        }

        public static int Abs(this int i)  {
            return i < 0 ? -i : i;
        }
    }

    결과화면


    80.확장메서드.zip
    다운로드

    반응형

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

    82.C# - IEnumerabel Interface (C# LINQ)  (0) 2009.08.19
    81.C# - 람다식  (0) 2009.08.19
    01.C#-Console 성적입력 출력  (0) 2009.08.19
    13.C# - 알고리즘 : 그룹  (0) 2009.08.18
    78.C# - 초기화자  (0) 2009.08.18

    Comments