RefactoringOperation Class

The RefactorOperation manages the whole life cycle of the refactoring operation.

This API is not CLS-compliant. 

Namespace:  Microsoft.VisualStudio.Data.Schema.Project.Refactoring
Assembly:  Microsoft.VisualStudio.Data.Schema.Project (in Microsoft.VisualStudio.Data.Schema.Project.dll)


<CLSCompliantAttribute(False)> _
Public MustInherit Class RefactoringOperation
Dim instance As RefactoringOperation
public abstract class RefactoringOperation
public ref class RefactoringOperation abstract
public abstract class RefactoringOperation
type RefactoringOperation =  class end


For each database refactoring type, there will be a derived class from [RefactorOperation]. An instance of this class will only exist for the duration of the refactoring operation. The [RefactorOperation] base class drives the actual life cycle of the refactoring operation. The methods of the derived classes are invoked by the base class methods.

The RefactoringOperation performs the following functions:

  • It serves as the launch point for a refactoring operation.

  • It presents a user interface to the user to gather required input for the refactoring operation.

  • It provides services such as the Preview Changes dialog box in the base class.


    The user interface runs on a separate thread that blocks only when displaying user interface elements (such as the Preview Changes dialog box).

Inheritance Hierarchy


Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also


RefactoringOperation Members

Microsoft.VisualStudio.Data.Schema.Project.Refactoring Namespace

Other Resources

Overview of Extensibility for Database Refactoring

Walkthrough: Creating a New Type of Database Refactoring to Change Casing