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); }
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); }