Пример #1
0
 static public ContextHandle ObtainHandle(IntPtr context, SCCH value)
 {
     lock (NonDetHandles)
     {
         ContextHandle hnd;
         if (NonDetHandles.Count == 0)
         {
             hnd = new NondetContextHandle(value);
         }
         else
         {
             hnd = NonDetHandles.First.Value;
             NonDetHandles.RemoveFirst();
         }
         hnd.Context       = context;
         hnd.ManagedObject = value;
         lock (NondetContextHandle.HandleToObject)
         {
             NondetContextHandle.ContextToObject[context] = hnd;
         }
         return(hnd);
     }
 }
Пример #2
0
 public NondetContextHandle(SCCH scch)
 {
     ManagedObject = scch;
 }
Пример #3
0
 public static ContextHandle ObtainHandle(IntPtr context, SCCH value)
 {
     lock (NonDetHandles)
     {
         ContextHandle hnd;
         if (NonDetHandles.Count == 0)
         {
             hnd = new NondetContextHandle(value);
         }
         else
         {
             hnd = NonDetHandles.First.Value;
             NonDetHandles.RemoveFirst();
         }
         hnd.Context = context;
         hnd.ManagedObject = value;
         lock (NondetContextHandle.HandleToObject)
         {
             NondetContextHandle.ContextToObject[context] = hnd;
         }
         return hnd;
     }
 }
Пример #4
0
 public NondetContextHandle(SCCH scch)
 {
     ManagedObject = scch;
 }