About working with ArcGIS base classes
The ESRI.ArcGIS.ADF.Local assembly provides a number of base classes to help you create custom components for ArcGIS. The classes are abstract classes that cannot be instantiated and frequently contain only partial or no implementation code. They can only be used by being inherited by another class. Although similar in concept as interfaces, they differ significantly from interfaces in that a class might implement any number of interfaces, but it can inherit from only one abstract class.
Along with the samples and ArcGIS item templates available in the .NET software development kit (SDK), they show how to implement these common ArcGIS components more efficiently.
The following table shows the base classes (under ESRI.ArcGIS.ADF.BaseClasses namespace) that can be inherited by their corresponding custom components, along with the available ArcGIS item templates or samples:
Custom components |
Base classes |
Item templates and samples |
Commands and tools | ||
Command |
Template—ArcGIS, Base Command | |
Tool |
Template—ArcGIS, Base Tool | |
Command bars | ||
Toolbar |
Template—ArcGIS, Base Toolbar | |
Menu |
Template—ArcGIS, Base Menu | |
Context menu (Desktop) |
BaseMenu |
Template—ArcGIS, Desktop, Context Menu |
Layers | ||
Custom layer |
Sample: RSS weather layer | |
Custom globe layer |
Sample: RSS weather 3D layer | |
Custom dynamic layer |
Sample: Dynamic display layer |
The following screen shot shows some of the ArcGIS item templates in Visual Studio:
Keep in mind, Inheritance of ArcGIS COM types in .NET is not supported. If the ArcGIS base classes do not contain the components you want, implement interfaces to customize your classes.
See Also:
ESRI.ArcGIS.ADF.BaseClasses namespaceCreating commands and tools
Creating toolbars and menus
How to create a command or tool to work with the controls
Sample: RSS weather layer
Sample: RSS weather 3D layer
Using item templates to extend ArcObjects
Sample: Dynamic display layer
To use the code in this topic, reference the following assemblies in your Visual Studio project. In the code files, you will need using (C#) or Imports (VB .NET) directives for the corresponding namespaces (given in parenthesis below if different from the assembly name):
Development licensing | Deployment licensing |
---|---|
Engine Developer Kit | Engine |
ArcGIS for Desktop Basic | ArcGIS for Desktop Basic |
ArcGIS for Desktop Standard | ArcGIS for Desktop Standard |
ArcGIS for Desktop Advanced | ArcGIS for Desktop Advanced |