C\#사용자 정의 기능 을 만 드 는 방법

개술
특성(Attribute)은 프로그램 이 실 행 될 때 다양한 요소(예 를 들 어 클래스,방법,구조,매 거 진,구성 요소 등)를 전달 하 는 행위 정 보 를 전달 하 는 성명 성 태그 입 니 다.기능 을 사용 하여 프로그램 에 성명 정 보 를 추가 할 수 있 습 니 다.설명 적 인 태 그 는 사용 하 는 요소 앞 에 놓 인 괄호([])를 통 해 설명 합 니 다.사용자 정의 특성 을 설계 하려 면 새로운 개념 을 많이 파악 할 필요 가 없다. 대상 을 대상 으로 하 는 프로 그래 밍 에 익숙 하고 디자인 하 는 방법 을 안다 면 필요 한 지식 은 대부분 갖 추고 있다. 사용자 정의 특성 은 본질 적 으로 System.Attribute 에서 직접 또는 간접 적 으로 파생 된 전통 클래스 입 니 다. 전통 클래스 와 마찬가지 로 사용자 정의 기능 은 데 이 터 를 저장 하고 검색 하 는 방법 을 포함한다.
실현 방식
1.사용자 정의 기능 을 설명 합 니 다.새로운 사용자 정의 기능 은 System.Attribute 류 에서 파생 되 어야 합 니 다.

//         BugFix         
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Property,
AllowMultiple = true)]

public class DeBugInfo : System.Attribute
2.사용자 정의 기능 을 구축 하여 이름 을 만 듭 니 다. DeBugInfo 디버그 프로그램 에서 얻 은 정 보 를 저장 하 는 사용자 정의 기능 입 니 다.

//         BugFix         
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Property,
AllowMultiple = true)]

public class DeBugInfo : System.Attribute
{
  private int bugNo;
  private string developer;
  private string lastReview;
  public string message;

  public DeBugInfo(int bg, string dev, string d)
{
      this.bugNo = bg;
      this.developer = dev;
      this.lastReview = d;
  }

  public int BugNo
  {
      get
      {
          return bugNo;
      }
  }
  public string Developer
  {
      get
      {
          return developer;
      }
  }
  public string LastReview
  {
      get
      {
          return lastReview;
      }
  }
  public string Message
  {
      get
      {
          return message;
      }
      set
      {
          message = value;
      }
  }
}
3.사용자 정의 기능 적용

[DeBugInfo(45, "Zara Ali", "12/8/2012", Message = "Return type mismatch")]
[DeBugInfo(49, "Nuha Ali", "10/10/2012", Message = "Unused variable")]
class Rectangle
{
  //     
  protected double length;
  protected double width;
  public Rectangle(double l, double w)
  {
      length = l;
      width = w;
  }
  [DeBugInfo(55, "Zara Ali", "19/10/2012",
  Message = "Return type mismatch")]
  public double GetArea()
  {
      return length * width;
  }
  [DeBugInfo(56, "Zara Ali", "19/10/2012")]
  public void Display()
  {
      Console.WriteLine("Length: {0}", length);
      Console.WriteLine("Width: {0}", width);
      Console.WriteLine("Area: {0}", GetArea());
  }
}
이상 은 C\#사용자 정의 기능 을 만 드 는 방법 에 대한 자세 한 내용 입 니 다.C\#사용자 정의 기능 을 만 드 는 데 관 한 자 료 는 다른 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기