다음 프로세스를 사용하여 코드 요소에 특성을 적용합니다.
새 특성을 정의하거나 기존 .NET 특성을 사용합니다.
요소 바로 앞에 배치하여 코드 요소에 특성을 적용합니다.
각 언어에는 고유한 특성 구문이 있습니다. C++ 및 C#에서 특성은 대괄호로 둘러싸여 있으며 줄 바꿈을 포함할 수 있는 공백으로 요소와 구분됩니다. Visual Basic에서 특성은 꺾쇠 괄호로 둘러싸여 있으며 동일한 논리 선에 있어야 합니다. 줄 바꿈이 필요한 경우 줄 연속 문자를 사용할 수 있습니다.
특성에 대한 위치 매개 변수 및 명명된 매개 변수를 지정합니다.
위치 매개 변수는 필수이며 명명된 매개 변수 앞에 와야 합니다. 특성 생성자 중 하나의 매개 변수에 해당합니다. 명명된 매개 변수는 선택 사항이며 특성의 읽기/쓰기 속성에 해당합니다. C++와 C#에서 각 선택적 매개 변수에 대해
name=value
을(를) 지정하고, 속성의 이름으로name
을(를) 지정합니다. Visual Basic에서 .를 지정합니다name:=value
.
코드를 컴파일할 때 특성이 메타데이터로 내보내지고 런타임 리플렉션 서비스를 통해 공용 언어 런타임 및 사용자 지정 도구 또는 애플리케이션에서 사용할 수 있습니다.
규칙에 따라 모든 특성 이름은 "특성"으로 끝납니다. 그러나 Visual Basic 및 C#과 같이 런타임을 대상으로 하는 여러 언어는 특성의 전체 이름을 지정할 필요가 없습니다. 예를 들어 초기화 System.ObsoleteAttribute하려는 경우 사용되지 않는 것으로만 참조하면 됩니다.
메서드에 특성 적용
다음 코드 예제는 System.ObsoleteAttribute를 사용하여 코드를 사용되지 않는 것으로 표시하는 방법을 보여줍니다. 문자열 "Will be removed in next version"
이 특성에 전달됩니다. 이 특성은 특성이 설명하는 코드가 호출될 때 전달된 문자열을 표시하는 컴파일러 경고를 발생합니다.
public class Example
{
// Specify attributes between square brackets in C#.
// This attribute is applied only to the Add method.
[Obsolete("Will be removed in next version.")]
public static int Add(int a, int b)
{
return (a + b);
}
}
class Test
{
public static void Main()
{
// This generates a compile-time warning.
int i = Example.Add(2, 2);
}
}
Public Class Example
' Specify attributes between square brackets in C#.
' This attribute is applied only to the Add method.
<Obsolete("Will be removed in next version.")>
Public Shared Function Add(a As Integer, b As Integer) As Integer
Return a + b
End Function
End Class
Class Test
Public Shared Sub Main()
' This generates a compile-time warning.
Dim i As Integer = Example.Add(2, 2)
End Sub
End Class
어셈블리 수준에서 특성 적용
어셈블리 수준에서 특성을 적용하려면 assembly
키워드를 (Assembly
는 Visual Basic에서) 사용합니다. 다음 코드는 어셈블리 수준에서 적용된 것을 보여줍니다 AssemblyTitleAttribute .
using System.Reflection;
[assembly:AssemblyTitle("My Assembly")]
Imports System.Reflection
<Assembly: AssemblyTitle("My Assembly")>
이 특성을 적용하면 문자열 "My Assembly"
이 파일의 메타데이터 부분에 있는 어셈블리 매니페스트에 배치됩니다.
IL 디스어셈블러(Ildasm.exe)를 사용하거나 특성을 검색하는 사용자 지정 프로그램을 만들어 특성을 볼 수 있습니다.
참고하십시오
.NET