DefaultEventAttribute クラス
コンポーネントの既定のイベントを指定します。
この型のすべてのメンバの一覧については、DefaultEventAttribute メンバ を参照してください。
System.Object
System.Attribute
System.ComponentModel.DefaultEventAttribute
<AttributeUsage(AttributeTargets.Class)>
NotInheritable Public Class DefaultEventAttribute Inherits Attribute
[C#]
[AttributeUsage(AttributeTargets.Class)]
public sealed class DefaultEventAttribute : Attribute
[C++]
[AttributeUsage(AttributeTargets::Class)]
public __gc __sealed class DefaultEventAttribute : public Attribute
[JScript]
public
AttributeUsage(AttributeTargets.Class)
class DefaultEventAttribute extends Attribute
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
既定のイベントの名前を取得するには、 Name プロパティを使用します。
詳細については、「 属性の概要 」および「 属性を使用したメタデータの拡張 」を参照してください。
使用例
[Visual Basic, C#] MyCollection
という名前のコレクション クラスを定義する例を次に示します。このクラスは、既定のイベントとして CollectionChanged
を指定する DefaultEventAttribute を使用してマークされます。
<DefaultEvent("CollectionChanged")> _
Public Class MyCollection
Inherits BaseCollection
Public Event CollectionChanged (ByVal sender As Object, _
ByVal e As CollectionChangeEventArgs)
' Insert additional code.
End Class 'MyCollection
[C#]
[DefaultEvent("CollectionChanged")]
public class MyCollection : BaseCollection {
private CollectionChangeEventHandler onCollectionChanged;
public event CollectionChangeEventHandler CollectionChanged {
add {
onCollectionChanged += value;
}
remove {
onCollectionChanged -= value;
}
}
// Insert additional code.
}
[Visual Basic, C#] MyCollection
のインスタンスを作成する例を次に示します。そのクラスの属性を取得し、 DefaultEventAttribute を抽出してから、既定のイベントの名前を出力します。
Public Shared Function Main() As Integer
' Creates a new collection.
Dim myNewCollection As New MyCollection()
' Gets the attributes for the collection.
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(myNewCollection)
' Prints the name of the default event by retrieving the
' DefaultEventAttribute from the AttributeCollection.
Dim myAttribute As DefaultEventAttribute = _
CType(attributes(GetType(DefaultEventAttribute)), DefaultEventAttribute)
Console.WriteLine(("The default event is: " & myAttribute.Name))
Return 0
End Function 'Main
[C#]
public static int Main() {
// Creates a new collection.
MyCollection myNewCollection = new MyCollection();
// Gets the attributes for the collection.
AttributeCollection attributes = TypeDescriptor.GetAttributes(myNewCollection);
/* Prints the name of the default event by retrieving the
* DefaultEventAttribute from the AttributeCollection. */
DefaultEventAttribute myAttribute =
(DefaultEventAttribute)attributes[typeof(DefaultEventAttribute)];
Console.WriteLine("The default event is: " + myAttribute.Name);
return 0;
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.ComponentModel
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System (System.dll 内)
参照
DefaultEventAttribute メンバ | System.ComponentModel 名前空間 | Attribute