Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
IReferencable.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 namespace SiliconStudio.Core
4 {
5  /// <summary>
6  /// Base interface for all referencable objects.
7  /// </summary>
8  public interface IReferencable
9  {
10  /// <summary>
11  /// Gets the reference count of this instance.
12  /// </summary>
13  /// <value>
14  /// The reference count.
15  /// </value>
16  int ReferenceCount { get; }
17 
18  /// <summary>
19  /// Increments the reference count of this instance.
20  /// </summary>
21  /// <returns>The method returns the new reference count.</returns>
22  int AddReference();
23 
24  /// <summary>
25  /// Decrements the reference count of this instance.
26  /// </summary>
27  /// <returns>The method returns the new reference count.</returns>
28  /// <remarks>When the reference count is going to 0, the component should release/dispose dependents objects.</remarks>
29  int Release();
30  }
31 }
Base interface for all referencable objects.
Definition: IReferencable.cs:8