if I review the overloads available for the Return
method, which I can do like this:
[System.Reflection.Assembly]::LoadFrom("C:\...\Newtonsoft.Json.6.0.3\lib\net40\NewtonSoft.Json.dll")
[System.Reflection.Assembly]::LoadFrom("C:\...\Neo4jClient.1.0.0.662\lib\net40\Neo4jClient.dll")
$neo = new-object Neo4jClient.GraphClient(new-object Uri("http://localhost:7474/db/data"))
$q=$neo.Cypher.Match("n").Return({param($m) $m});
$neo.Cypher.Match("n").Return.OverloadDefinitions
I see something like this:
Neo4jClient.Cypher.ICypherFluentQuery[TResult] Return[TResult](string identity)
Neo4jClient.Cypher.ICypherFluentQuery[TResult] Return[TResult](System.Linq.Expressions.Expression[System.Func[TResult]] expression)
Neo4jClient.Cypher.ICypherFluentQuery[TResult] Return[TResult](System.Linq.Expressions.Expression[System.Func[Neo4jClient.Cypher.ICypherResultItem,TResult]] expression)
from which I read that the first overload takes a single string parameter, however, how do I read the second overload? it takes a linq expression, which [contains|accepts] a parameterless function that returns type TResult
?
and what about the third, where the function takes 2 parameters? is it two parameters or one parameter and a return type?
how do I read this syntax?