Skip to content

Commit fc7f642

Browse files
committed
C#: With expression examples for record structs, structs and anonymous types.
1 parent 858aec3 commit fc7f642

File tree

3 files changed

+35
-3
lines changed

3 files changed

+35
-3
lines changed

csharp/ql/test/library-tests/csharp10/RecordTypes.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ public record class MyClassRecord(DateTime stuff) { }
99

1010
public readonly record struct MyReadonlyRecordStruct(string Stuff) { }
1111

12-
public record struct MyRecordStruct(int Stuff) { }
12+
public record struct MyRecordStruct1(int Stuff) { }
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using System;
2+
3+
public struct MyStruct
4+
{
5+
public int X;
6+
public MyStruct(int x) => X = x;
7+
}
8+
9+
public record struct MyRecordStruct2(int Y) { }
10+
11+
public class MyWithExamples
12+
{
13+
public void M1()
14+
{
15+
var s1 = new MyStruct(1);
16+
var s2 = s1 with { X = 2 };
17+
}
18+
19+
public void M2()
20+
{
21+
var r1 = new MyRecordStruct2(4);
22+
var r2 = r1 with { Y = 6 };
23+
}
24+
25+
public void M3()
26+
{
27+
var anon1 = new { A = 3, B = 4 };
28+
var anon2 = anon1 with { A = 5 };
29+
}
30+
}

csharp/ql/test/library-tests/csharp10/recordTypes.expected

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ recordTypes
22
| RecordTypes.cs:3:1:6:2 | MyEntry |
33
| RecordTypes.cs:8:1:8:53 | MyClassRecord |
44
| RecordTypes.cs:10:1:10:70 | MyReadonlyRecordStruct |
5-
| RecordTypes.cs:12:1:12:50 | MyRecordStruct |
5+
| RecordTypes.cs:12:1:12:51 | MyRecordStruct1 |
6+
| WithExpression.cs:9:1:9:47 | MyRecordStruct2 |
67
recordStructs
78
| RecordTypes.cs:10:1:10:70 | MyReadonlyRecordStruct |
8-
| RecordTypes.cs:12:1:12:50 | MyRecordStruct |
9+
| RecordTypes.cs:12:1:12:51 | MyRecordStruct1 |
10+
| WithExpression.cs:9:1:9:47 | MyRecordStruct2 |
911
recordClass
1012
| RecordTypes.cs:3:1:6:2 | MyEntry |
1113
| RecordTypes.cs:8:1:8:53 | MyClassRecord |

0 commit comments

Comments
 (0)