

Public NotInheritable Class HistoricalVersion Inherits VersionBase Implements System.IDisposable
public sealed class HistoricalVersion : VersionBase, System.IDisposable
{
// Must be called within QueuedTask.Run
HistoricalVersion CreateHistoricalVersion(Geodatabase geodatabase, string versionName)
{
using (VersionManager versionManager = geodatabase.GetVersionManager())
{
HistoricalVersionDescription historicalVersionDescription =
new HistoricalVersionDescription(versionName, DateTime.Now);
HistoricalVersion historicalVersion =
versionManager.CreateHistoricalVersion(historicalVersionDescription);
return historicalVersion;
}
}
}
{
// Must be called within QueuedTask.Run
void ChangeVersions(Geodatabase geodatabase, string toVersionName)
{
using (VersionManager versionManager = geodatabase.GetVersionManager())
{
VersionBaseType versionBaseType = versionManager.GetCurrentVersionBaseType();
if (versionBaseType == VersionBaseType.Version)
{
Version fromVersion = versionManager.GetCurrentVersion();
Version toVersion = versionManager.GetVersion(toVersionName);
// Switch between versions
MapView.Active.Map.ChangeVersion(fromVersion, toVersion);
}
if (versionBaseType == VersionBaseType.HistoricalVersion)
{
HistoricalVersion fromHistoricalVersion = versionManager.GetCurrentHistoricalVersion();
HistoricalVersion toHistoricalVersion = versionManager.GetHistoricalVersion(toVersionName);
// Switch between historical versions
MapView.Active.Map.ChangeVersion(fromHistoricalVersion, toHistoricalVersion);
}
// Switch from HistoricalVersion to Version and vice-versa
// MapView.Active.Map.ChangeVersion(fromHistoricalVersion, toVersion);
// MapView.Active.Map.ChangeVersion(fromVersion, toHistoricalVersion);
}
}
}
System.Object
ArcGIS.Core.CoreObjectsBase
ArcGIS.Core.Data.VersionBase
ArcGIS.Core.Data.HistoricalVersion
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)