Q:

How to write a lambda expression take in a collection of properties using a delimiter?

I am not sure how to create this expression:
(e => e.Prop1, e.Prop2, e.Prop3)

I want to pass an expression like this into a method so I can iterate through the collection and pull out the property names.
pseudo method:
public  void ParseProperties<T>(The_Expression_being_Passed_In)
{
    foreach(var member in expression.members)
    {
       .....
    }
}

A:

You need to accept a parameter of type
params Expression<Func<T, object>>[] expressions

So you can say
public void ParseProperties<T>(params Expression<Func<T, object>>[] expressions) {
    foreach(var expression in expressions) {
        expression.GetPropertyName();
    }
}

You'll have to write GetPropertyName; implementations abound on StackOverflow.
You can't quite call it like you desire. You'll have to say
ParseProperties(e => e.Prop1, e => e.Prop2, e => e.Prop3);

