if (key
Buffer
Length < key
Size)
{
keyStreamSetLength(keySize);
key = DbEntryOut(keyStreamGetBuffer());
}
if (dataBufferLength < dataSize)
{
dataStreamSetLength(dataSize);
data = DbEntryOut(dataStreamGetBuffer());
}
continue;
case ReadStatusSuccess:
dataStreamPosition = ;
dataStreamSetLength(dataSize);
cust = (IPut)formatterDeserialize(dataStream);
return true;
default:
return false;
}
} while (true);
}
}
调用方法
首先要有一个写入的实体类必须可以序列化并且实现IPut接口
[Serializable()]
class Item : IPut
{
public string Name { get; set; }
public string Text { get; set; }
public int ID { get; set; }
public override string ToString()
{
return stringFormat(ID:{} Key:{} ID Name);
}
public string Key
{
get { return Name; }
}
}
操作
using (BDBManager manager = new BDBManager(
db
db
dat
))
{
bool success = managerSet(new Item() { ID = Name = TestText = });
ConsoleWriteLine(stringFormat(set is {} success));
}
using (BDBManager manager = new BDBManager(db dbdat))
{
IPut put = new Item() { Name = Test };
bool success = managerGet(ref put);
ConsoleWriteLine(stringFormat(read is {}item : {} success putToString()));
}
using (BDBManager manager = new BDBManager(db dbdat))
{
IPut put = new Item() { Name = Test };
bool success = managerRemove(put);
ConsoleWriteLine(stringFormat(remove is {}item : {} success putToString()));
}
using (BDBManager manager = new BDBManager(db dbdat))
{
List<IPut> list = managerFind();
foreach (var item in list)
{
ConsoleWriteLine(itemToString());
}
}
ConsoleWriteLine(end);
ConsoleReadKey();
[] [] [] [] [] [] []