public static T GetObject <T>(Realm realm, TableHandle table, IntPtr columnIndex, IntPtr rowIndex, string objectType) where T : RealmObject { var linkedRowPtr = NativeTable.GetLink(table, columnIndex, rowIndex); if (linkedRowPtr == IntPtr.Zero) { return(null); } return((T)realm.MakeObjectForRow(objectType, linkedRowPtr)); }
protected T GetObjectValue <T>(string propertyName) where T : RealmObject { Debug.Assert(_realm != null, "Object is not managed, but managed access was attempted"); var rowIndex = _rowHandle.RowIndex; var linkedRowPtr = NativeTable.GetLink(_metadata.Table, _metadata.ColumnIndices[propertyName], rowIndex); if (linkedRowPtr == IntPtr.Zero) { return(null); } Schema.Property property; _metadata.Schema.TryFindProperty(propertyName, out property); var objectType = property.ObjectType; return((T)_realm.MakeObjectForRow(objectType, linkedRowPtr)); }