var binder = new Binder(); var left = binder.BindExpression(SyntaxFactory.ParseExpression("a")); var right = binder.BindExpression(SyntaxFactory.ParseExpression("b")); var addition = binder.BindBinaryOperatorExpression(SyntaxKind.AdditionExpression, left, right); var boundExpr = addition as BoundExpression;
var binder = new Binder(); var receiver = binder.BindExpression(SyntaxFactory.ParseExpression("obj")); var arguments = ImmutableArray.CreateIn both examples, the binder object is used to perform the binding of the expressions. The resulting BoundExpression can then be used for further analysis or IL code generation.(binder.BindExpression(SyntaxFactory.ParseExpression("arg"))); var method = binder.BindMethodGroupExpression(receiver, "SomeMethod"); var invocation = binder.BindInvocationExpression(method[0], arguments); var boundExpr = invocation.Expression as BoundExpression;