TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

interface IInitializable in Tinman.Core.System

Base interface for disposable classes that provide an explicit method for initialization.

interface IInitializable extends IDisposable
  base of Initializable
  IWidget

Remarks

The following figure illustrates the state transitions an IInitializable object undergoes during its lifecycle (see LifecycleState):

 ##            +--------------+
#### --------> |   Created    |
 ##   ctor()   +--------------+
                      |
                      | Initialize()
                      v
               +--------------+
               | Initializing |
               +--------------+
               | Initialized  |
               +--------------+
                      |
                      | Dispose()
                      v
               +--------------+
               |  Disposing   |
               +--------------+            ##
               |  Disposed    | --------> #  #
               +--------------+  ~dtor()   ##

Attributes

LifecycleState

Returns the lifecycle state of this object.

property LifecycleState { get }
type LifecycleState
value The lifecycle state.
inherited ILifecycleState.LifecycleState

Methods

AcquireTry

Acquires a strong reference to this disposable object.

[OwnerReturn, ThreadSafe]
method AcquireTry ()
type IDisposable
returns this if a new strong reference has been acquired, null if this object is already being disposed.
inherited IDisposable.AcquireTry

Remarks:

The object will not be actually disposed by calls to Dispose when there is at least one strong reference left. Code that calls the AcquireTry method is responsible for calling the Dispose method accordingly.

This method is not intended to be used in performance-critical code. It should only be used to high-level resource management.

Dispose

Releases all resources held by this object if there are no more strong references to it, decrements the reference counter by one otherwise.

[Dispose, OwnerThis, ThreadSafe]
method Dispose ()
inherited IDisposable.Dispose

Remarks:

The Dispose method silently returns if the object has already been disposed.

Initialize

Initializes the object, if necessary

method Initialize ()

Remarks:

The Initialize method returns silently if the object is already in the state Initialized.

Extensions

AssertCreatedOrInitialized

Asserts that the given object is either in the Created or in the Initialized state.

method AssertCreatedOrInitialized (string source)
params source Error source tag.

Remarks:

Use this method to assert that an object is valid and might have to be initialized later.

Exceptions: