Type.GetEvents Method (BindingFlags)
When overridden in a derived class, searches for events that are declared or inherited by the current Type, using the specified binding constraints.
Assembly: mscorlib (in mscorlib.dll)
Public MustOverride Function GetEvents ( bindingAttr As BindingFlags ) As EventInfo()
Return ValueType: System.Reflection.EventInfo()
Themethod does not return events in a particular order, such as alphabetical or declaration order. Your code must not depend on the order in which events are returned, because that order varies.
The following BindingFlags filter flags can be used to define which events to include in the search:
You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.
Specify BindingFlags.Public to include public events in the search.
Specify BindingFlags.NonPublic to include non-public events (that is, private, internal, and protected events) in the search. Only protected and internal events on base classes are returned; private events on base classes are not returned.
Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.
The following BindingFlags modifier flags can be used to change how the search works:
BindingFlags.DeclaredOnly to search only the events declared on the Type, not events that were simply inherited.
See System.Reflection.BindingFlags for more information.
An event is considered public to reflection if it has at least one method or accessor that is public. Otherwise the event is considered private, and you must use BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static (in Visual Basic, combine the values using Or) to get it.
If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the events of the class constraint.
The following example obtains an array of EventInfo objects that match the specified binding flags, gets all the events for a Button class, and displays the event names. To compile the Visual Basic example, use the following command line:
vbc type_getevents2.vb /r:System.Windows.Forms.dll /r:System.dll
Imports System Imports System.Reflection Imports System.Security Imports System.Windows.Forms Imports Microsoft.VisualBasic Class EventsSample Public Shared Sub Main() Try ' Create a bitmask based on BindingFlags. Dim myBindingFlags As BindingFlags = BindingFlags.Instance Or BindingFlags.Public Dim myTypeEvent As Type = GetType(System.Windows.Forms.Button) Dim myEventsBindingFlags As EventInfo() = myTypeEvent.GetEvents(myBindingFlags) Console.WriteLine(ControlChars.Cr + "The events on the Button class with the specified BindingFlags are:") Dim index As Integer For index = 0 To myEventsBindingFlags.Length - 1 Console.WriteLine(myEventsBindingFlags(index).ToString()) Next index Catch e As SecurityException Console.WriteLine("SecurityException:" + e.Message) Catch e As ArgumentNullException Console.WriteLine("ArgumentNullException: " + e.Message) Catch e As Exception Console.WriteLine("Exception: " + e.Message) End Try End Sub 'Main End Class 'EventsSample
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0