You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[severity:Other]
I was wondering how a primary constructor gets converted to a regular in case you are using its parameter in a method. Seems like it doesn't. Note that when you remove the usage of bar in the method the conversion works fine.
I guess generating a backing field would be a solution.
System.InvalidOperationException : GetCurrentNode returned null with the following node: bar - file SyntaxEditor.cs line 254
at Roslyn.Utilities.Contract.Fail(String message,Int32 lineNumber,String filePath)
at Microsoft.CodeAnalysis.Editing.SyntaxEditor.GetChangedRoot()
at Microsoft.CodeAnalysis.CSharp.ConvertPrimaryToRegularConstructor.ConvertPrimaryToRegularConstructorCodeRefactoringProvider.<>c__DisplayClass2_0. <ConvertAsync>g__FixParameterAndBaseArgumentListIndentation|13()
at async Microsoft.CodeAnalysis.CSharp.ConvertPrimaryToRegularConstructor.ConvertPrimaryToRegularConstructorCodeRefactoringProvider.ConvertAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.ComputeOperationsAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.ComputePreviewOperationsAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.CodeActions.CodeAction.GetPreviewOperationsAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedAction.GetPreviewOperationsAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedAction.GetPreviewResultAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedActionWithNestedFlavors.<>c__DisplayClass16_0. <GetPreviewAsync>b__0(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.Extensions.IExtensionManagerExtensions.PerformFunctionAsync[T](<Unknown Parameters>)
internal class Foo(int bar)
{
public int Bar { get; private set; } = bar;
public void Baz()
{
Bar = bar;
}
}
The text was updated successfully, but these errors were encountered:
This issue has been moved from a ticket on Developer Community.
[severity:Other]
I was wondering how a primary constructor gets converted to a regular in case you are using its parameter in a method. Seems like it doesn't. Note that when you remove the usage of bar in the method the conversion works fine.
I guess generating a backing field would be a solution.
The text was updated successfully, but these errors were encountered: