다음을 통해 공유


DispIdAttribute 클래스

메서드, 필드 또는 속성의 COM DispId(디스패치 식별자)를 지정합니다.

네임스페이스: System.Runtime.InteropServices
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
<AttributeUsageAttribute(AttributeTargets.Method Or AttributeTargets.Property Or AttributeTargets.Field Or AttributeTargets.Event, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class DispIdAttribute
    Inherits Attribute
‘사용 방법
Dim instance As DispIdAttribute
[AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Event, Inherited=false)] 
[ComVisibleAttribute(true)] 
public sealed class DispIdAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method|AttributeTargets::Property|AttributeTargets::Field|AttributeTargets::Event, Inherited=false)] 
[ComVisibleAttribute(true)] 
public ref class DispIdAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Event, Inherited=false) */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class DispIdAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Event, Inherited=false) 
ComVisibleAttribute(true) 
public final class DispIdAttribute extends Attribute

설명

.이 특성은 메서드, 필드 또는 속성에 적용할 수 있습니다.

이 특성에는 특성이 설명하는 메서드, 필드 또는 속성에 대한 DispId가 포함됩니다. 일반적으로 고유 DispId는 공용 언어 런타임에서 할당되지만 이 특성을 사용하면 특정 DispId를 메서드에 할당할 수 있습니다. 형식 라이브러리를 가져오면 할당된 DISPID를 사용하여 이 특성을 모든 메서드에 적용합니다. 이렇게 하면 COM에 노출된 경우 동일한 메서드의 모든 관리되는 구현에 같은 DISPID가 유지됩니다.

예제

다음 예제에서는 클래스의 멤버에 명시적 DISPID를 할당하는 방법을 보여 줍니다.

Imports System.Runtime.InteropServices

Class SampleClass
    
    Public Sub New()
        'Insert code here.
    End Sub
    
    <DispIdAttribute(8)> _ 
    Public Sub MyMethod()
        'Insert code here.
    End Sub    
    
    Public Function MyOtherMethod() As Integer
        'Insert code here.
        Return 0
    End Function
    
    <DispId(9)> _
    Public MyField As Boolean
End Class
using System.Runtime.InteropServices;

public class MyClass
{
   public MyClass() {}

   [DispId(8)]
   public void MyMethod() {}
   
   public int MyOtherMethod() {
      return 0;
   }
   
   [DispId(9)]
   public bool MyField;
}
using namespace System::Runtime::InteropServices;
public ref class MyClass
{
public:
   MyClass(){}


   [DispId(8)]
   void MyMethod(){}

   int MyOtherMethod()
   {
      return 0;
   }


   [DispId(9)]
   bool MyField;
};
import System.Runtime.InteropServices.*;

public class MyClass
{
    public MyClass()
    {
    } //MyClass

    /** @attribute DispId(8)
     */
    public void MyMethod()
    {
    } //MyMethod

    public int MyOtherMethod()
    {
        return 0;
    } //MyOtherMethod

    /** @attribute DispId(9)
     */
    public boolean MyField;
} //MyClass

상속 계층 구조

System.Object
   System.Attribute
    System.Runtime.InteropServices.DispIdAttribute

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

DispIdAttribute 멤버
System.Runtime.InteropServices 네임스페이스