コード例 #1
0
ファイル: ManagedType.cs プロジェクト: mcneel/pythonnet
 /// <summary>
 /// Given a Python object, return the associated managed object or null.
 /// </summary>
 internal static ManagedType?GetManagedObject(BorrowedReference ob)
 {
     if (ob != null)
     {
         BorrowedReference tp = Runtime.PyObject_TYPE(ob);
         var flags            = PyType.GetFlags(tp);
         if ((flags & TypeFlags.HasClrInstance) != 0)
         {
             var gc = TryGetGCHandle(ob, tp);
             return((ManagedType?)gc?.Target);
         }
     }
     return(null);
 }
コード例 #2
0
ファイル: ManagedType.cs プロジェクト: mcneel/pythonnet
        internal static bool IsManagedType(BorrowedReference type)
        {
            var flags = PyType.GetFlags(type);

            return((flags & TypeFlags.HasClrInstance) != 0);
        }