コード例 #1
0
        private void ReplaceEncapsulatedFieldReferences(IEnumerable <IEncapsulateFieldCandidate> fieldCandidates, IRewriteSession rewriteSession)
        {
            var model = new ReplaceReferencesModel()
            {
                ModuleQualifyExternalReferences = true
            };

            foreach (var field in fieldCandidates)
            {
                InitializeModel(model, field);
            }

            _replaceReferencesRefactoringAction.Refactor(model, rewriteSession);
        }
コード例 #2
0
        private void InitializeModel(ReplaceReferencesModel model, IEncapsulateFieldCandidate field)
        {
            foreach (var idRef in field.Declaration.References)
            {
                var replacementExpression = field.PropertyIdentifier;

                if (idRef.QualifiedModuleName == field.QualifiedModuleName && field.Declaration.IsArray)
                {
                    replacementExpression = field.BackingIdentifier;
                }

                model.AssignReferenceReplacementExpression(idRef, replacementExpression);
            }
        }
        private void ReplaceEncapsulatedFieldReferences(IEnumerable <IEncapsulateFieldCandidate> nonPrivateUDTFields, IObjectStateUDT objectStateUDTField, IRewriteSession rewriteSession)
        {
            if (!nonPrivateUDTFields.Any())
            {
                return;
            }

            var replaceReferencesModel = new ReplaceReferencesModel()
            {
                ModuleQualifyExternalReferences = true,
            };

            foreach (var field in nonPrivateUDTFields)
            {
                InitializeModel(replaceReferencesModel, field, objectStateUDTField);
            }

            _replaceReferencesRefactoringAction.Refactor(replaceReferencesModel, rewriteSession);
        }