static Task<Document> CreateAndInitialiseReadOnlyAutoPropertyFromConstructorParameter(ConstructorParameterContext context)
        {
            var trackedRoot = context.Root.TrackNodes(context.Constructor);

            var rootWithNewProperty = AddBefore(
                root: trackedRoot, 
                loationToAddBefore: context.Constructor, 
                nodeToAdd: CreateAutoProperty(
                    type: context.Type, 
                    identifier: context.PropertyName, 
                    accessors: GetAccessor(), 
                    accessibility: SyntaxKind.PublicKeyword));

            var rootWithAssignmentAndProperty = AddStatementToConstructorBody(
                root: rootWithNewProperty, 
                constructor: context.Constructor, 
                statement: CreateAssignmentStatement(
                    leftHandSidePropertyName: context.PropertyName, 
                    rightHandSidePropertyName: context.ParameterName));

            return Task.FromResult(context.Document.WithSyntaxRoot(rootWithAssignmentAndProperty));
        }
Пример #2
0
        static Task <Document> CreateAndInitialiseAutoPropertyFromConstructorParameter(ConstructorParameterContext context)
        {
            var trackedRoot = context.Root.TrackNodes(context.Constructor);

            var rootWithNewProperty = AddBefore(
                root: trackedRoot,
                loationToAddBefore: context.Constructor,
                nodeToAdd: CreateAutoProperty(
                    type: context.Type,
                    identifier: context.PropertyName,
                    accessors: GetAndSetAccessors(),
                    accessibility: SyntaxKind.PublicKeyword));

            var rootWithAssignmentAndProperty = AddStatementToConstructorBody(
                root: rootWithNewProperty,
                constructor: context.Constructor,
                statement: CreateAssignmentStatement(
                    leftHandSidePropertyName: context.PropertyName,
                    rightHandSidePropertyName: context.ParameterName));

            return(Task.FromResult(context.Document.WithSyntaxRoot(rootWithAssignmentAndProperty)));
        }