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\#사용자 정의 기능 을 만 드 는 데 관 한 자 료 는 다른 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.