diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/Records.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/Records.cs index 4c9e7d424..d97a5a5bc 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/Records.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/Records.cs @@ -30,6 +30,11 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty public record Empty; + public record EmptyWithStaticField + { + public static readonly Empty X = new Empty(); + } + public record Fields { public int A; diff --git a/ICSharpCode.Decompiler/CSharp/RecordDecompiler.cs b/ICSharpCode.Decompiler/CSharp/RecordDecompiler.cs index 6327b1634..e3b23022e 100644 --- a/ICSharpCode.Decompiler/CSharp/RecordDecompiler.cs +++ b/ICSharpCode.Decompiler/CSharp/RecordDecompiler.cs @@ -550,7 +550,9 @@ namespace ICSharpCode.Decompiler.CSharp // Then all the fields are copied over foreach (var member in orderedMembers) { - if (!(member is IField field)) + if (member.IsStatic) + continue; + if (member is not IField field) { if (!autoPropertyToBackingField.TryGetValue((IProperty)member, out field!)) continue;