查找对象的所有属性

时间:2011-08-26 14:52:49

标签: .net vb.net reflection

我是VB的新手,已经投入使用大量的Web服务。我不断收到背对象,能够打印出所有属性非常有用。在VB中是否有办法获取对象的所有属性并将其打印出来(到控制台)?

我认为这需要某种类型的反射,但如果有某种内置机制,那将会很好。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

再次阅读你的问题并获得更多启发:)

http://msdn.microsoft.com/en-us/library/aa332493(v=vs.71).aspx

您可以使用它来获取对象的属性:

Public Shared Sub Main()
    Dim myType As Type = GetType(MyTypeClass)
    ' Get the public properties.
    Dim myPropertyInfo As PropertyInfo() = myType.GetProperties((BindingFlags.Public Or BindingFlags.Instance))
    Console.WriteLine("The number of public properties is {0}.", myPropertyInfo.Length.ToString())
    ' Display the public properties.
    DisplayPropertyInfo(myPropertyInfo)
End Sub 'Main

Public Shared Sub DisplayPropertyInfo(ByVal myPropertyInfo() As PropertyInfo)
        ' Display the information for all properties.
        Dim i As Integer
        For i = 0 To myPropertyInfo.Length - 1
            Dim myPropInfo As PropertyInfo = CType(myPropertyInfo(i), PropertyInfo)
            Console.WriteLine("The property name is {0}.", myPropInfo.Name.ToString())
            Console.WriteLine("The property type is {0}.", myPropInfo.PropertyType.ToString())
        Next i
    End Sub 'DisplayPropertyInfo

希望这有帮助!

答案 1 :(得分:0)

您可以使用Type.GetProperties 这将返回一个包含PropertyInfo对象的数组,每个对象代表对象的属性。 PropertyInfo对象有一个Name对象,它保存对象上属性的名称。

答案 2 :(得分:0)

在SOA世界中,您可以使用WSDL(WSDL类型)

实现这一目标

你可以找到所需的所有信息,因为一般情况下服务的性质表明它们必须是自包含的并且是自动描述的

了解更多信息:

http://www.w3schools.com/wsdl/wsdl_documents.asp