I want to sort a List(Of MyDynamicObject)
by it's properties, where MyDynamicObject
is an ExpandoObject
. I have the property names as strings, so I need to use some sort of reflection to pass them.
Let's say I have a list:
MyList = New List(Of Entry)
where Entry
has a property MyProperty_01
.
Now I want to sort MyList
by the objects property MyProperty_01
.
In case of static objects and no reflection, I would do something like this this:
MyList = MyList.OrderBy(Function(x) x.MyProperty_01).ToList
Now if I need to pass the property name as a string, I can do this:
Dim MyPropertyName As String = "MyProperty_01"
MyList = MyList.OrderBy(Function(x) GetType(Entry).GetProperty(MyPropertyName).GetValue(x)).ToList
where Entry
is the objects class reference.
How can I do this with an ExpandoObject
? I don't have a class reference in case of an ExpandoObject
.
So this doesn't work anymore.
Dim MyPropertyName As String = "MyProperty01"
MyList = MyList.OrderBy(Function(x) GetType().GetProperty(MyPropertyName).GetValue(x)).ToList
Aucun commentaire:
Enregistrer un commentaire