खोज…


एक कक्षा के एक उदाहरण के लिए गुण प्राप्त करें

Imports System.Reflection

Public Class PropertyExample

    Public Function GetMyProperties() As PropertyInfo()
        Dim objProperties As PropertyInfo()
        objProperties = Me.GetType.GetProperties(BindingFlags.Public Or BindingFlags.Instance)
        Return objProperties
    End Function

    Public Property ThisWillBeRetrieved As String = "ThisWillBeRetrieved"

    Private Property ThisWillNot As String = "ThisWillNot"

    Public Shared Property NeitherWillThis As String = "NeitherWillThis"

    Public Overrides Function ToString() As String
        Return String.Join(",", GetMyProperties.Select(Function(pi) pi.Name).ToArray)
    End Function
End Class   

गेटप्रॉपरेटीज का पैरामीटर परिभाषित करता है कि किस प्रकार के गुण फ़ंक्शन द्वारा वापस आ जाएंगे। चूंकि हम पब्लिक और इंस्टेंस पास करते हैं, इसलिए यह विधि केवल उन संपत्तियों को वापस करेगी जो सार्वजनिक और गैर-साझा दोनों हैं। फ्लैग-एन्स को संयुक्त कैसे किया जा सकता है, इस बारे में स्पष्टीकरण के लिए फ्लैग्स विशेषता देखें।

एक प्रकार के सदस्य प्राप्त करें

Dim flags = BindingFlags.Static Or BindingFlags.Public Or BindingFlags.Instance
Dim members = GetType(String).GetMembers(flags)
For Each member In members
    Console.WriteLine($"{member.Name}, ({member.MemberType})")
Next          

एक विधि प्राप्त करें और इसे लागू करें

स्थैतिक विधि:

Dim parseMethod = GetType(Integer).GetMethod("Parse",{GetType(String)})
Dim result = DirectCast(parseMethod.Invoke(Nothing,{"123"}), Integer)

उदाहरण विधि:

 Dim instance = "hello".ToUpper
 Dim method = Gettype(String).GetMethod("ToUpper",{})
 Dim result = method.Invoke(instance,{}) 
 Console.WriteLine(result) 'HELLO

एक सामान्य प्रकार का एक उदाहरण बनाएँ

    Dim openListType = GetType(List(Of ))
    Dim typeParameters = {GetType(String)}
    Dim stringListType = openListType.MakeGenericType(typeParameters)
    Dim instance = DirectCast(Activator.CreateInstance(stringListType), List(Of String))
    instance.Add("Hello")


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow