Mega Code Archive

 
Categories / VB.Net / Reflection
 

DeclaredOnly instance members

Imports System Imports System.Reflection Imports System.IO Public Class TestClass     Public Name As String     Private values() As [Object] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}     Default Public Property Item(ByVal index As Integer) As [Object]         Get             Return values(index)         End Get         Set(ByVal Value As [Object])             values(index) = Value         End Set     End Property     Public ReadOnly Property Value() As [Object]         Get             Return "the value"         End Get     End Property     Public Sub New(ByVal initName As String)         Name = initName     End Sub     Public Sub New()         MyClass.New("initialName")     End Sub     Private methodCalled As Integer = 0     Public Shared Sub SayHello()         Console.WriteLine("Hello")     End Sub     Public Sub AddUp()         methodCalled += 1         Console.WriteLine("AddUp Called {0} times", methodCalled)     End Sub     Public Shared Function ComputeSum(ByVal d1 As Double, ByVal d2 As Double) As Double         Return d1 + d2     End Function     Public Shared Sub PrintName(ByVal firstName As [String], ByVal lastName As [String])         Console.WriteLine("{0},{1}", lastName, firstName)     End Sub     Public Sub PrintTime()         Console.WriteLine(DateTime.Now)     End Sub     Public Sub Swap(ByRef a As Integer, ByRef b As Integer)         Dim x As Integer = a         a = b         b = x     End Sub End Class <DefaultMemberAttribute("PrintTime")> _ Public Class TestClass2     Public Sub PrintTime()         Console.WriteLine(DateTime.Now)     End Sub End Class Public Class Base     Shared BaseOnlyPrivate As Integer = 0     Protected Shared BaseOnly As Integer = 0 End Class Public Class Derived     Inherits Base     Public Shared DerivedOnly As Integer = 0 End Class Public Class MostDerived     Inherits Derived End Class Class Invoke     Public Shared Sub Main()         Dim t As Type = GetType(TestClass)         Dim c As New TestClass()         Dim args() As Object = {100.09, 184.45}         Dim memInfo As System.Reflection.MemberInfo() = t.GetMembers(BindingFlags.DeclaredOnly Or _             BindingFlags.Public Or BindingFlags.Instance)         Dim i As Integer         For i = 0 To memInfo.Length - 1             Console.WriteLine(memInfo(i).Name)         Next i     End Sub End Class