2011-08-26 177 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