C#에서 사용자정의 어트리뷰트 작성하기 실습(Custom Attribute)

FSP 0 27 10.18 10:40

C#에서 사용자정의 어트리뷰트 작성하기 실습(Custom Attribute)

 

[AdditionalInfoAttribute.cs]

 

using System;

[AttributeUsage(AttributeTargets.Class)]

public class AdditionalInfoAttribute : Attribute

{

    string name; string update; string download;

    //생성자에 있는 두개의 인자는 위치지정 파라미터 이다.

    //즉 위치지정 파라미터는 클래스에 어트리뷰트를 붙일때 반드시 넘겨 줘야 한다.

    //항상 생성자에서 값을 넘겨 주게 되어 있으므로 name, update인 경우 Property에서

    //set이 없다.

    public  AdditionalInfoAttribute(string name, string update)

    {

        this.name = name; this.update = update;

    }

    public string Name { get { return name; } }

    public string Update { get { return update; } }

    public string Download

    {

        set { download = value; }

        get { return download; }

    }

}

 

 

[Test.cs]

 

using System;

 

namespace AttributeTest

{

    [AdditionalInfoAttribute("홍길동", "2018/10/1", Download ="http://ojc.asia")]

    class Test

    {

        static void Main()

        {

            Type type = typeof(Test);

            foreach(Attribute attr in type.GetCustomAttributes(true))

            {

                AdditionalInfoAttribute info = attr as AdditionalInfoAttribute;

                if (info != null)

                    Console.WriteLine("Name={0},Update Date={1}," +

                        "Download ={2}", 

                        info.Name, info.Update, info.Download);

            }

        }

    }

}



[결과]
Name=홍길동,Update Date=2018/10/1,Download =http://ojc.asia

 

 

 

 

Comments