What does SomeMethod(() => x.Something) mean in C#
c#, lambda
Solution
What do the first brackets mean in the expression?
It's the lambda syntax for a method that takes no parameters. If it took 1 parameter, it'd be:
SomeMethod(x => x.Something);
If it took n + 1 arguments, then it'd be:
SomeMethod((x, y, ...) => x.Something);
I'm also curious how you can get the property name from argument that is being passed in. Is this possible?
If your `SomeMethod` takes an `Expression<Func<T>>`, then yes:
void SomeMethod<T>(Expression<Func<T>> e) {
MemberExpression op = (MemberExpression)e.Body;
Console.WriteLine(op.Member.Name);
}
Problem
(Note the code is an example) I have the following syntax: ``` SomeMethod(() => x.Something) ``` What do the first brackets mean in the expression? I'm also curious how you can get the property name from argument that is being passed in. Is this posssible?