dotnet/roslyn

With Operator not properly supported in C# Script

オープン

#53,670 opened on 2021/05/25

 (7 件のコメント) (0 件のリアクション) (0 人の担当者)C# (4,257 件のフォーク)batch import
Area-InteractiveConcept-Continuous Improvementhelp wanted

Repository metrics

Stars
 (20,414 個のスター)
PR merge metrics
 (平均マージ 6d 17h) (30d で 256 merged PRs)

説明

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.

コントリビューターガイド