2011-08-26 99 views
1

Im新的VB和已被投入到使用大量的Web服务。我经常收到对象,并且能够打印出所有的属性将非常有用。在VB中有一种方法来获取对象的所有属性并将其打印出来(用于控制台)?查找对象的所有属性

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

任何想法?

回答

0

再次看了你的问题,并得到多一点开明:)

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 

希望这有助于!

+0

想我不知道任何属性,直到运行时的名称虽然。任何想法如何获得属性名称? – user489041

+0

已更改回复以反映您问题的性质。 – Phil

+0

好酷。所以现在我得到了这个名字。我可以使用这个名称并获得该房产的价值吗?类似于GetProeprtyValue(PropertyName) – user489041

0

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

0

在SOA世界中,你可以做到这一点与WSDL(WSDL类型)

你可以找到你需要按照将军的服务性质的所有信息指出,他们必须是自包含的,自描述性

更多信息:

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

相关问题