IntelliCommands | Core Features | Cool Features | Videos | Online Help | Pricing | Buy | Version History | Testimonials
Region Commands | Refactor Commands | Data Commands | Smart Interfaces | Mis Commands
Encapsulate Getter/Setter (C#, VB.NET) Top

Generates a property with Getter and Setter without popping out a dialog window for inputs making this command a quick way to encapsulate a single field. To extend the usability you can declare the field itself with the property's visibility and the command will automatically use it and change the field's visibility back to private (Private in Visual Basic) when is done generating the property.

Encapsulate Getter (C#, VB.NET) Top

Generates a property with Getter only without popping out a dialog window for inputs making this command a quick way to encapsulate a single field. To extend the usability you can declare the field itself with the property's visibility and the command will automatically use it and change the field's visibility back to private (Private in Visual Basic) when is done generating the property.

Encapsulate Setter (C#, VB.NET) Top

Generates a property with Setter only without popping out a dialog window for inputs making this command a quick way to encapsulate a single field. To extend the usability you can declare the field itself with the property's visibility and the command will automatically use it and change the field's visibility back to private (Private in Visual Basic) when is done generating the property.

Encapsulate Fields (C#, VB.NET) Top

Encapsulates multiple fields at once. You will be prompted with a dialog window to configure each fields accordingly.

Features:

  • You can change property visibility.
  • You can edit the property name.
  • You can modify the encapsulation type.
  • Prevents duplication.
  • Optionally you can regionize the encapsulated fields. If Regionize option is not selected then the field(s) will be created where you positioned the caret within the type definition in your code file.
  • Optional documenting the properties.
  • Supports virtual (Overridable in Visual Basic) properties.
  • Automatically checks to see if the property should be created as override (Overrides in Visual Basic).
  • String properties can optionally be generated to return empty string instead of null.
Custom Event (C#, VB.NET) Top

Creates a custom event from a declared event. Custom Events have technical advantages over regular events but harder to declare in particular in VB.NET. With custom events you can handle multi-threading better and add routines when target methods are being registered and unregistered.

Create Target Method (C#, VB.NET) Top

The core usage of this refactor command is to create EventHandlers or to create target method for declared delegates. Create Target Method command was designed to work in various ways to extend its usability.

Please Note: EventHandlers are not just related to WinForm or WebForm projects that their designers can create the EventHandlers for you. There are many cases where you have to create them manually since there isn't any UI involved.

There are currently four ways that you can use this command to create a target method. These are;

  1. Executing the command on the line that an event is declared. It create the statements to call the event for you.
  2. Executing the command on the line that a delegate is declared, within a type definition only.
  3. Executing the command on the line that a field is declared. The field's type must be either a reference type or delegate. If the field's type is reference type a dialog window will be opened listing the events and delegates for the selection.
  4. Executing the command within a type definition that contains events or delegates either declared in the type itself or in one of the base classes. A dialog window will be opened listing the events and delegates for the selection.
Default Constructor (C#, VB.NET) Top

Creates a default constructor without popping up a dialog window for inputs making this command a quick way to generate the default constructor.

Constructor (C#, VB.NET) Top

Creates multiple constructors at once. A user-friendly dialog window will be prompted for setting up the constructors very quickly.

Features:

  • Creates all base classes that are not already present in the derived class. Any constructors can be unchecked to exclude from generation.
  • Supports adding more parameters to the constructors that were created from the base class by using existing fields in the class.
  • Configurable direction to add parameters to base constrcutors.
  • Prevents duplication.
  • You can select from existing fields with different variations to create new overload constructors.
  • Parameter names are editable.
  • Optionally you can select to Regionize the constrcutors. If the Regionize option is not selected then the constructors will be created where you positioned the caret within the type definition in your code file.
  • Optionally you can select to code document the constructors.
Extract Interface (C#, VB.NET) Top

Extracts Interface in an easy way to create new interface with members that are already declared in an existing class or struct.

Features:

  • Checks the specified interface name to prevent duplication.
  • Inheriting from Interface has been made optional for better usability.
  • Members selection.
  • Optional location of the new type; New Code File, Same Code File.
  • Optionally can regionize the interface.
  • Project folder picker.
Extract Base Provider Class (C#, VB.NET) Top

Creates the base Provider Class from an existing class.

Features:

  • Checks the specified type name to prevent duplication.
  • Inheriting from The Base Provider Class has been made optional to increase usability, once inherited all derived members are marked as overrided.
  • Members selection.
  • Optional location of the new type; New Code File, Same Code File.
  • Optionally can Regionize the type.
  • Project folder picker.

Notes:

The implemetation of Extract Provider Class follows the "Provider Pattern" that is very popular among developers. In "Provider Pattern" the extended classes usually have the most or all the implementations.

Extract Type From Parameters (C#, VB.NET) Top

Extracts Class or Struct from Method's parameters.

Features:

  • Field Selection.
  • Field rename.
  • User-Defined parameter name.
  • Configurable type visibility.
  • Configurable location of the new type.
  • Configurable Change Action. These are: 
    • None - Use this option if you wish just to create a Class/Structure from a method's signature that contains most or all the field types that you need.
    • Create Overloaded Method - Very important and useful option for the cases where due to the legacy support you cannot replace the signature of existing methods. With this option you can introduce an overloaded method that can be used for the new development. 
    • Replace params with type - Replaces the signature of the method with the new type.
  • Configurable declaration of type as: Top-Level or Nested Type
  • Optionally creates the default constrcutor for class types.
  • Optionally creates overloaded constructor for the selected fields.  
  • Optionally can declare the properties virtual (Overridable in Visual Basic)
  • Optionally can declare ReadOnly Properties.
  • Optionally can regionize the new type.
Extract Collection From Type (C#, VB.NET) Top

Extracts either Collection<T> or ReadOnlyCollection<T> from a Class, Struct, or Interface.

Features:

  • Once Collection<T> is selected virtual (Overridable in Visual Basic) members are presented for selection to be overrided in the extended type.
  • Optionally creates AddRange() method.
  • Optionally adds Sort support. The comparer type will be created in one single operation.
  • Supports Nested Types (ProjectTypes only).
  • Configurable Location of the new type; New Code File or Same Code File as the enclosing type.
  • Supported Collection Kinds are;  Collection<T> or ReadOnlyCollection<T>.
  • Optionally sealed (NotInheritable in Visual Basic) the type.
  • User-Defined parameter name.
  • Optional IDisposable pattern. No restriction for creating for each pattern in VB.NET since the constructed generic type is known.
  • Optionally Regionizes the new type.
  • Project Folder Picker.
Extract Collection From Type ExtRef (C#, VB.NET) Top

Similar to Extract Collection From Type command except it is designed to work with Types in project's reference assemblies. You would be prompted with a dialog window to select a type from a list first. This command is available from Solution Explorer's Project Menu.

Extract Proxy Class (C#, VB.NET) Top

Creates a Proxy Class or Wrapper class from existing classes and interfaces in your projects.

Features:

  • Supports class and interface types
  • Supports Methods, Properties, and Events in C#
  • Supports Method and Properties in VB.NET
  • Supports Property Indexers
  • Creates custom events in C#
  • Selectable Members
  • Lists the public members of base types
  • Project Folder Picker
  • Optionally can Regionize the new Proxy Class
  • Optionally can declare the proxy class as sealed (NotInheritable in Visual Basic)
  • User-Defined field name
  • Full Generic type support
  • Checks the proxy class name to prevent type duplication
  • Supports overrided System.Object's members
Extract Proxy Class ExtRef (C#, VB.NET) Top

Creates a Proxy Class or Wrapper class from externally referenced classes and interfaces in your projects. This command offers the same features as Extract Proxy Class plus the following features:

Features:

  • Type Browser to allow user select a type from a list of assemblies.
  • Dependency checking. The selected type is checked automatically and it would add the missing assemblies to the project for you. 
Extract Comparer Type (C#, VB.NET) Top

This command creates a comparer class that implements IComparer<T> (IComparer(Of T) in Visual Basic) interface for the enclosing class or interface. The sole purpose of the comparer class in IntelliCommands is to add sorting features to the generic collection types. All .Net types including Guid is supported so as any types that implement IComparable or Generic IComparable interface. This command can create comparer types that support multiple property sorting known as Dynamic Sorting. Please see the feature list for more details.

Features:

  • Dynamic Sorting - When enabled the comparer type is created in the manner that can sort one or more assigned properties at same time, otherwise the comparer type would be created to sort the selected properties every time.
  • Configurable comparison order of selected properties
  • Optional implementation of IDisposable
  • Optional Regionization of the type
  • Optional Sealed (NonInheritable in Visual Basic) type
  • Optional Type Visibility Access
  • Easy to extend the functionality of the comparer type
  • Project Folder Picker

Remarks

This is recommended that not to use Dynamic Sorting when is not really needed. Comparer types with Dynamic Sorting support would give the most flexibility but the least performance.

Extract Comparer Type ExtRef (C#, VB.NET) Top

This command offers the same features as Extract Comparer Type except is designed to work with externally referenced types in projects. In addtion to Extract Comparer Type command the following features are offered:

Features:

  • Type Browser to allow user select a type from a list of assemblies
  • Dependency checking. The selected type is checked automatically and it would add the missing assemblies to the project for you 
WinForm ListView Comparer (C#, VB.NET) Top

This command creates a special comparer type that is suited for sorting columns of WinForm's ListView control. The generated comparer type implements IComparer interface.

Remarks

There are cases where a ListView needs to be sortable and support Row Item shuffling. To overcome this problem the generated comparer type can be suspended by setting a property called "Suspend" to false while rows are being shuffled.    

Surround With Namespace (C#, VB.NET) Top

This is a powerful feature where you can surround from a single type definition to the entire types in a single solution with namespace.

This command would also update the web page's "Inherits" attribute of types. All namespaces are automatically assigned by calculating the physical location of the code file in the project.

Features:

  • The namespace name is automatically determined by the location of the code file in the project.
  • Supports partial types. Once a single type is surrounded the remaning partial types regardless of their locations within the project would be surrounded with the same namespace too.
  • The web page (.aspx or .ascx) Inherits attribute would also be updated where the page is linked to a class.
Introduce Soft Cloning (C#, VB.NET) Top

There are cases where a reference type cannot be changed hence you just want to copy values from one type to another without using the Hard Cloning technique which it returns a new instance reference of the type. You would encounter such scenariors often with Business Objects. Both properties and fields are supported. This is yet another timesaver command that is introduced to IntelliCommands.

Apply Serializable Attribute (C#, VB.NET) Top

This is a quick way to add System.SerializableAttribute attribute to types such as Classes, Structs, Delegates and Enums.

Apply AttributeUsage Attribute (C#, VB.NET) Top

This is a quick way to add System.AttributeUsageAttribute attribute to class types. This command would add System.Attribute to the base of the active class.

Apply Guid Attribute (C#, VB.NET) Top

This command would make it much easier to apply System.Runtime.InteropServices.GuidAttributes to Classes, Interfaces, Structs, Enums, and Delegates. This command can be run from various locations to maximize productivity and flexibility;

Locations:

  • To apply on Class, Interface, and Structs just make sure the caret is positioned any where between members (White Spaces).
  • Delegates and Enums - Position the caret on the declared type and then run the command.
  • Namespace - Run the command from namespace if you wish to apply to all type listed within namespace in the active code file.
  • Solution Explorer Context Menus - If you wish to apply to group of code files then run the command from one of the supported Context menu of Solution Explorer.

Remarks

You would be prompted with a list of supported members to choose when the command is run from namespace or the Solution Explorer's context menus.