2012-07-23 11 views

Antwort

12

Den Namen jeder Eigenschaft erhalten? Verwenden Sie LINQ, um jede PropertyInfo mithilfe der Methode LINQ Select zu projizieren und die Eigenschaft MemberInfo.Name auszuwählen.

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

Oder in VB, ich denke, es wäre:

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

Danke! Ist es möglich, dies auf Klassenebene und nicht auf Objektebene zu tun? Kann ich Class.GetProperties() oder etwas ähnliches tun? – Prabhu

+1

@ Prabhu ja, ändern Sie 'myClassObject.GetType()' in 'GetType (ClassName)' –

+1

@ Prabhu: Oder 'typeof (Foo) .GetProperties()' in C#. –

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

Oder wenn Sie kennen den Typ, den Sie im Voraus verwenden möchten, Sie können:

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