本文整理汇总了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;
}
}
}
示例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);
}
}