diff --git a/ICSharpCode.Decompiler/CSharp/Transforms/TransformFieldAndConstructorInitializers.cs b/ICSharpCode.Decompiler/CSharp/Transforms/TransformFieldAndConstructorInitializers.cs index 6bbd82096..72b1efe8f 100644 --- a/ICSharpCode.Decompiler/CSharp/Transforms/TransformFieldAndConstructorInitializers.cs +++ b/ICSharpCode.Decompiler/CSharp/Transforms/TransformFieldAndConstructorInitializers.cs @@ -230,6 +230,10 @@ namespace ICSharpCode.Decompiler.CSharp.Transforms if (initializer.DescendantsAndSelf.Any(n => n is ThisReferenceExpression || n is BaseReferenceExpression)) break; var v = initializer.Annotation()?.Variable; + if (v == null) + { + v = (initializer.Annotation()?.ElementResult as ILVariableResolveResult)?.Variable; + } if (v?.Kind == IL.VariableKind.Parameter) { isStructPrimaryCtor = record?.PrimaryConstructor != null;