예제 #1
0
 /// <summary>
 /// Wrapper classes will most likely implement new version of this method.
 /// </summary>
 /// <param name="instance"></param>
 /// <param name="ownsInstance"></param>
 /// <param name="addToCache"></param>
 internal virtual void SetupInstance(IntPtr instance, bool ownsInstance, bool addToCache = true)
 {
     OwnsNativeInstance = ownsInstance;
     NativeInstance     = instance;
     if (addToCache)
     {
         InstanceCache.Add(this);
     }
     OnSetupInstance();
 }
예제 #2
0
 /// <summary>
 /// Wrapper classes will most likely implement new version of this method.
 /// </summary>
 /// <param name="instance"></param>
 /// <param name="flags"></param>
 internal virtual void SetupInstance(IntPtr instance, NativeObjectFlags flags = NativeObjectFlags.None)
 {
     Flags          = flags;
     NativeInstance = instance;
     if (!flags.HasFlag(NativeObjectFlags.SkipInstanceCache))
     {
         InstanceCache.Add(this);
     }
     OnSetupInstance();
 }
예제 #3
0
 // Derived types will put object initialization code here. At the time of writing such code sets up virtual
 // method callbacks and nothing more.
 internal virtual void PerformInstanceSetup(IntPtr instance, bool ownsInstance)
 {
     OwnsNativeInstance = ownsInstance;
     NativeInstance = instance;
     InstanceCache.Add(this);
 }