Я пытаюсь написать парсер для языка разметки QML, и я хотел бы разрешить выражения C# в разметке. Так как пример может выглядеть следующим образом:Разбор встроенных выражений в Roslyn
ClassName {
Property1: 10
Property2: Math.Sqrt(123)
Property3: string.Format("{0} {1}", "Hello", "World")
}
(Это также несколько как двигатель Razor ASP.NET, но afaics Бритва не использует Рослин?)
Как мне это сделать? Я хочу разобрать только одно выражение, будь то литерал, вызов метода, лямбда и т. Д. Я пробовал использовать CSharpSyntaxTree.ParseText
, но он ожидает целого файла, и я не могу найти документацию, которая, похоже, относится к этому использованию -дело.
Так просто, спасибо. – Grokys
Действительно ли это работает? Я получаю исключение NotSupportedException, когда передаю параметр SourceCodeKind.Interactive ... – glopes
Хорошо, похоже, что функция была отложена на 1.0. Я добавил разъяснение в качестве ответа для будущих посетителей. – glopes