EventAttributes Enumeration
Specifies the attributes of an event.
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
| Member name | Description | |
|---|---|---|
![]() ![]() | None | Specifies that the event has no attributes. |
![]() ![]() | SpecialName | Specifies that the event is special in a way described by the name. |
![]() ![]() | ReservedMask | Specifies a reserved flag for common language runtime use only. |
![]() ![]() | RTSpecialName | Specifies that the common language runtime should check name encoding. |
The following example uses reflection emit to create a type with two events. It uses EventAttributes.None to specify that the events have no attributes.
Note: |
|---|
To run this example, see Building Examples That Use a Demo Method and a TextBlock Control. |
Imports System.Threading Imports System.Reflection Imports System.Reflection.Emit Public Class Example Delegate Sub MyEvent(ByVal temp As Object) Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) Dim helloWorldClass As TypeBuilder = CreateCallee(Thread.GetDomain()) Dim info As EventInfo() = helloWorldClass.GetEvents(BindingFlags.Public Or _ BindingFlags.Instance) outputBlock.Text &= "'HelloWorld' type has following events :" & vbCrLf Dim i As Integer For i = 0 To info.Length - 1 outputBlock.Text &= info(i).Name & vbCrLf Next i End Sub 'Main ' Create the callee transient dynamic assembly. Private Shared Function CreateCallee(ByVal myDomain As AppDomain) As TypeBuilder Dim myAssemblyName As New AssemblyName() myAssemblyName.Name = "EmittedAssembly" ' Create the callee dynamic assembly. Dim myAssembly As AssemblyBuilder = myDomain.DefineDynamicAssembly _ (myAssemblyName, AssemblyBuilderAccess.Run) ' Create a dynamic module named "CalleeModule" in the callee Dim myModule As ModuleBuilder = myAssembly.DefineDynamicModule("EmittedModule") ' Define a public class named "HelloWorld" in the assembly. Dim helloWorldClass As TypeBuilder = myModule.DefineType _ ("HelloWorld", TypeAttributes.Public) Dim myMethod1 As MethodBuilder = helloWorldClass.DefineMethod _ ("OnClick", MethodAttributes.Public, Nothing, New Type() {GetType(Object)}) Dim methodIL1 As ILGenerator = myMethod1.GetILGenerator() methodIL1.Emit(OpCodes.Ret) Dim myMethod2 As MethodBuilder = helloWorldClass.DefineMethod _ ("OnMouseUp", MethodAttributes.Public, Nothing, New Type() {GetType(Object)}) Dim methodIL2 As ILGenerator = myMethod2.GetILGenerator() methodIL2.Emit(OpCodes.Ret) ' Create the events. Dim myEvent1 As EventBuilder = helloWorldClass.DefineEvent _ ("Click", EventAttributes.None, GetType(MyEvent)) myEvent1.SetRaiseMethod(myMethod1) Dim myEvent2 As EventBuilder = helloWorldClass.DefineEvent _ ("MouseUp", EventAttributes.None, GetType(MyEvent)) myEvent2.SetRaiseMethod(myMethod2) helloWorldClass.CreateType() Return helloWorldClass End Function 'CreateCallee End Class 'MyApplication
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.


Note: