Codacy Badge


Wave is a C# library that extends the ArcGIS for Desktop and ArcFM Solution APIs in an effort to simplify customizing these products. The library has been designed to use extension methods to expose the features of the library and is built using .NET Extension Methods which allows for adding new features to existing interfaces and classes within the ArcGIS and ArcFM APIs.


Any interfaces or objects that are extended have been setup to use the namespace of the object, which allows Wave’s features to be available without adding new namespace delcarations.

For instance, the RowExtensions.cs that contains extension methods for the IRow interface uses the ESRI.ArcGIS.Geodatabase namespace because that is the namespace that contains the IRow interface.

Wave Extensions for ArcGIS - The package for the ArcGIS for Desktop extensions.

Wave Extensions for ArcGIS

Wave Extensions for ArcFM - The package for the ArcFM Solution extensions.

Wave Extensions for ArcFM


You can download the latest API documentation in CHM format.


On some systems, the contents of the CHM file is blocked. Right click on the CHM file, select Properties, and click on the Unblock button if it is present in the lower right corner of the General tab in the properties dialog.


You can download a release of the library using the Microsoft NuGet Package Manager within Visual Studio.

To install Wave Extensions for ArcGIS, run the following command in the Package Manager Console.

    PM> Install-Package Wave.Extensions.Esri

To install Wave Extensions for ArcFM, run the following command in the Package Manager Console.

    PM> Install-Package Wave.Extensions.Miner


The Wave.Extensions.Esri package features are included in the Wave.Extensions.Miner package, as the ArcFM Solution product is tightly coupled with the ArcGIS for Desktop product.


  • ArcGIS for Desktop 10 (or higher)
  • ArcFM Solution 10 (or higher)
  • 3.5 SP 1 or 4.5 .NET Framework
  • Visual Studio 2010 (or higher)

Third Party Libraries#

  • log4net 2.0.3