This document is archived and information here might be outdated.  Recommended version.


Working with ArcGIS base classes (ArcObjects .NET 10.4 SDK)

Working with ArcGIS base classes


Summary
The ESRI.ArcGIS.ADF.Local assembly contains base classes to help .NET developers create custom components for ArcGIS. Along with the item templates installed by the ArcGIS Visual Studio integrated development environment (IDE) Integration Framework, they simplify the creation of these most commonly implemented components in a quicker and less error-prone way.

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
Custom globe layer
Custom dynamic 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 namespace
Creating 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