当前位置: 首页>>代码示例>>C#>>正文


C# IPersistent.Modify方法代码示例

本文整理汇总了C#中IPersistent.Modify方法的典型用法代码示例。如果您正苦于以下问题:C# IPersistent.Modify方法的具体用法?C# IPersistent.Modify怎么用?C# IPersistent.Modify使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IPersistent的用法示例。


在下文中一共展示了IPersistent.Modify方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MakePersistent

        public virtual int MakePersistent(IPersistent obj)
        {
            lock (this)
            {
                if (!opened)
                    throw new StorageError(StorageError.STORAGE_NOT_OPENED);

                if (obj == null)
                    return 0;

                int oid = obj.Oid;
                if (oid != 0)
                    return oid;

                lock (objectCache)
                {
                    oid = AllocateId();
                    obj.AssignOid(this, oid, false);
                    SetPos(oid, 0);
                    objectCache.Put(oid, obj);
                    obj.Modify();
                    return oid;
                }
            }
        }
开发者ID:kjk,项目名称:tenderbase,代码行数:25,代码来源:StorageImpl.cs

示例2: Append

        public virtual void Append(IPersistent obj)
        {
            lock (this)
            {
                Key key;
                try
                {
                    switch (type)
                    {
                        case ClassDescriptor.tpInt:
                            key = new Key((int) autoincCount);
                            fld.SetValue(obj, (int) autoincCount);
                            break;

                        case ClassDescriptor.tpLong:
                            key = new Key(autoincCount);
                            fld.SetValue(obj, autoincCount);
                            break;

                        default:
                            throw new StorageError(StorageError.UNSUPPORTED_INDEX_TYPE, fld.FieldType);
                    }
                }
                catch (System.Exception x)
                {
                    throw new StorageError(StorageError.ACCESS_VIOLATION, x);
                }
                autoincCount += 1;
                obj.Modify();
                base.Insert(key, obj, false);
            }
        }
开发者ID:kjk,项目名称:tenderbase,代码行数:32,代码来源:BtreeFieldIndex.cs


注:本文中的IPersistent.Modify方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。