accessorcache.cs
来自「MIED是用于个人帐务管理的小型软件」· CS 代码 · 共 62 行
CS
62 行
using System;
using System.Collections;
using Mied.BusinessObject;
namespace Mied.DAL.Accesses
{
public abstract class AccessorCache : AccessorSelect
{
internal AccessorCache(MiedDatabase database, string tableName)
: base(database, tableName)
{
}
public IList SelectListFromCache()
{
this.InitializationCacheList();
IList list = this.CreateEntityList();
foreach (Entity entity in this.CacheList)
list.Add(entity);
return list;
}
public IList CreateCacheList()
{
this.InitializationCacheList();
IList list = this.CreateCacheListObject();
foreach (Entity entity in this.CacheList)
list.Add(entity.Clone());
return list;
}
protected abstract IList CreateCacheListObject();
protected virtual IList GetCacheListSourceList()
{
return this.SelectList();
}
private void InitializationCacheList()
{
if (this.CacheList != null)
return;
this.CacheList = this.CreateCacheListObject();
IList sourceList = this.GetCacheListSourceList();
foreach (Entity entity in sourceList)
this.CacheList.Add(entity);
}
protected override void OnDatabaseClosed()
{
IDisposable disposable = this.CacheList as IDisposable;
if (disposable != null)
disposable.Dispose();
this.CacheList = null;
}
private IList CacheList;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?