dotnet/roslyn

With Operator not properly supported in C# Script

Ouverte

#53 670 ouverte le 25 mai 2021

 (7 commentaires) (0 réaction) (0 personne assignée)C# (4 257 forks)batch import
Area-InteractiveConcept-Continuous Improvementhelp wanted

Métriques du dépôt

Stars
 (20 414 étoiles)
Métriques de merge PR
 (Merge moyen 6j 17h) (256 PRs mergées en 30 j)

Description

Version Used: 3.9.0

Steps to Reproduce: Execute the following script: var script = @" public record MyRecord{public int I{get;set;}} var instance = new MyRecord(); instance with {I = 2}"; await CSharpScript.EvaluateAsync(script)

Expected Behavior: Script should compile without problems.

Actual Behavior: Compilation error: (4,16): error CS1014: A get or set accessor expected

With parenthesis it works:

var script = @" public record MyRecord{public int I{get;set;}} var instance = new MyRecord(); (instance with {I = 2})"; await CSharpScript.EvaluateAsync(script)

The situation is even worse when trying to use records as fluent API: await (builder with {OptionA = 1}).ExecuteAsync(), cannot be made to work at all, no matter with which parenthesis used.

Guide contributeur