2010-08-25 87 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