IVersionedObject Interface

Provides access to members that manage a versioned object.


The IVersionedObject interface is used to determine the current version of an object, to register feature datasets or object classes as versioned, and to detect if the object class is registered as versioned.


Name Description
Read-only property IsRegisteredAsVersioned Indicates if the object is registered as versioned.
Method RegisterAsVersioned Register/UnRegister the object as being versioned.
Read-only property Version The object's current version.

IVersionedObject.IsRegisteredAsVersioned Property

Indicates if the object is registered as versioned.

Public ReadOnly Property IsRegisteredAsVersioned As Boolean
public bool IsRegisteredAsVersioned {get;}


Returns if the underlying dataset is registered as versioned. This only applies to datasets that exist in versioned workspaces.

IVersionedObject.RegisterAsVersioned Method

Register/UnRegister the object as being versioned.

Public Sub RegisterAsVersioned ( _
    ByVal isVersioned As Boolean _
public void RegisterAsVersioned (
    bool isVersioned

Errors Returned

FDO_E_SE_NO_PERMISSIONS: Insufficient permissions.


The RegisterAsVersioned method registers or unregisters datasets. Feature classes that participate in feature datasets can be registered or unregistered, although it is highly recomended that the operation be performed on the entire feature dataset. The method requires a boolean argument, true to register or false to unregister the object.

Unregistering an object class as versioned permanently drops the object's delta tables. To preserve the edits, perform a compress prior to unregistering as versioned. See IVersionedWorkspace.Compressand IVersionedObject2 for additional information.

Only the owner can register or unregister the object.

By programmatically registering a class participating in a geometric network as versioned it does not guarantee the entire geometric network including other participating classes will also be registered. It is then recommended the registration take place at the feature dataset level rather than on the individual feature class. This workflow is exposed by default through the user interface in ArcCatalog. If there is a need to register individual classes as versioned within a feature dataset without registering the entire dataset it is crucial the every class participating in a geometric network, including the geometric network itself, is explicitly registered individually.

Archiving must first be disabaled on a class before it can be unregistered as versioned. This situation only applies to classes that have been registered as versioned with the MoveEditsToBase option set to false through the IVersionObject3.RegisterAsVersioned3 method.

IVersionedObject.Version Property

The object's current version.

Public ReadOnly Property Version As IVersion
public IVersion Version {get;}


The Version method returns an IVersion object that is the current version the object references. This provides a mechanism to easily detect the version of the database that an object references.

Classes that implement IVersionedObject

Classes Description

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.