2010-08-25 92 views
1

我有一個對象,我遍歷對象的屬性。 Foreach屬性,我將它作爲列添加到列表視圖中。VB.NET - 類的屬性

在我的對象中,有些屬性沒有重音符。但在葡萄牙語中,他們是這樣做的。例如:「Endereco」屬性必須是「Endereço」。

我需要一個去創建屬性的別名。在VB.NET中可能嗎? 謝謝。

回答

3

這聽起來像attributes的工作。您可以使用屬性來裝飾您的屬性,並使用所需的確切標題信息。例如:

<Description("Endereço")> _ 
Public Property String Endereco .... 

然後使用反射將該值拉出代碼。您還可以將屬性值用作本地化表格中的關鍵字,以便將來也可以更輕鬆地翻譯成其他語言,或者使用其他屬性來執行諸如不告訴視圖等事情,以便在特定情況下顯示特定字段。


要回答你反映的問題,我假設你已經至少與它有點舒服,這就是你必須遍歷一個對象的屬性(除非你真的是一本字典,在這種情況下,你應該這麼說)。因此,當您迭代屬性時,您正在使用的對象的類型爲PropertyInfo,您可以調用該類型的​​方法來查找與該屬性關聯的任何屬性。

+0

你有反射代碼嗎?非常感謝你! – Alson 2010-08-25 17:05:40

+0

我希望這有助於: http://msdn.microsoft.com/en-us/library/b05d59ty.aspx – asawyer 2010-08-25 17:13:19

+0

噢,這將吐出一個給定的類的屬性名和值的IEnumerable列表的KeyValuePair對象: public Shared Function GetPropertyValueList(ByVal obj As Object)As IEnumerable(Of KeyValuePair(Of String,String)) 返回p在obj.GetType()。GetProperties()中選擇New KeyValuePair(Of String,String)(p .Name,p.GetValue(obj,Nothing).ToString()) End Function – asawyer 2010-08-25 17:18:04