2016-02-17 3 views
1

С помощью следующего кода я получаю System.ArgumentOutOfRangeException из Microsoft.CodeAnalysis.CSharp.dll.SyntaxFactory.BinaryExpression throwing ArgumentOutOfRangeException

Я что-то не так? Версия сборки Microsoft.CodeAnalysis.CSharp.dll - 1.1.0.0.

var binaryExpression = SyntaxFactory.BinaryExpression(
     SyntaxKind.SimpleAssignmentExpression 
    , SyntaxFactory.IdentifierName("MyProperty") 
    , SyntaxFactory.IdentifierName("value")); 
+0

Какое сообщение и трассировка стека? – SLaks

ответ

2

Существует специальное присвоение, которое необходимо создать. Roslyn не моделирует присвоения в качестве двоичных операторов.

+0

Это был толчок, в котором я нуждался. Благодарю. Я изменил «SyntaxFactory.BinaryExpression» на «SyntaxFactory.AssignmentExpression», и это сделало трюк. Я читал следующий пример о том, как создать свойство, защищенное полем, и они использовали «BinaryExpression». – tdmoore56

+0

Несколько лет назад у нас были задания в бинарных выражениях, может быть, это устаревший пример? –