将类属性转换为字符串列表

时间:2012-07-23 19:04:36

标签: c# .net vb.net

如何将类的公共属性名称转换为字符串列表?语法最好用VB.NET。

我试图做这样的事情:

myClassObject.GetType().GetProperties.ToList()

但是,我需要一个List(Of String)

2 个答案:

答案 0 :(得分:13)

获取每个属性的名称?使用LINQ使用LINQ Select方法对每个PropertyInfo进行投影,选择MemberInfo.Name属性。

myClassObject.GetType().GetProperties().Select(p => p.Name).ToList()

或者在VB中,我认为它会是:

myClassObject.GetType.GetProperties.Select(Function (p) p.Name).ToList

答案 1 :(得分:2)

var propertyNames = myClassObject.GetType().GetProperties().Select(p => p.Name).ToList();

或者,如果您事先知道要使用的类型,则可以执行以下操作:

var propertyNames = typeof(ClassName).GetProperties().Select(p => p.Name).ToList();