wiki:GdalOgrCsharpVersions

Version 1 (modified by tamas, 17 years ago) ( diff )

--

GDAL/OGR CSharp interface versions

The GDAL/OGR CSharp interface is fairly new and the first official version was published along with the GDAL 1.4.0 release. As of the 1.4.0 release there was a substantial evolution in the interface based on the various user requests. Some of these changes in the current version (1.5.0) were backward incompatible with 1.4.0 and currently the transition to the current development version is suggested for the interface users and 1.4.0 is considered as deprecated.

The main differences between 1.4.0 and 1.5.0, and the migration steps for the existing code

This chapter described the fundamental differences between the 1.4.0 and 1.5.0 versions. Although the 1.5.0 version is not yet released the CSharp interface users are encouraged to make this transition since it will be more difficult to make these steps later.

Support for the enumerated types of the C# interface (#1559)

The 1.4.0 version treats the enumerated types as integers. Handling integers instead of enums is quite uncomfortable for the .NET developers since they don't enjoy the benefit of the autocompletion support of the IDE. The 1.5.0 version exposes the enumerated types to the interface and therefore the programmer should use the proper values instead of integer constants of the module class or using the gdalconst assembly. Every CSharp sample application has also been modified to reflect this behaviour.

As an example in GDALColorTable.cs we use

ds = Gdal.Open(file, Access.GA_ReadOnly)

instead of

ds = Gdal.Open(file, gdalconst.GA_ReadOnly)

C# namespace names and module names follows the .NET framework naming guidelines (#1560)

The C# namespace names and the module names were changed according to the [Microsoft.NET naming guidelines http://msdn2.microsoft.com/en-us/library/4xhs4564(VS.71).aspx].

The general rule for naming namespaces is to use the company name followed by the technology name and optionally the feature and design as follows.

CompanyName.TechnologyName[.Feature][.Design]

For example:

Microsoft.Media
Microsoft.Media.Design

You should use *PascalCase* for namespaces, and separate logical components with periods, and avoid using the same name for a namespace and a class.

Changed the names of the Windows builds for a better match with the GNU/Linux/OSX builds

The gdalconst assembly is now deprecated

Added support for Dataset.BuildOverviews (#1552)

GDAL C# libtool build support (#1558)

CreateFromWkb support (#1565)

Dataset.ReadRaster, Dataset.WriteRaster support

Examples added

Note: See TracWiki for help on using the wiki.