Struct Cacheable<TEntity, TId>
- Namespace
- Kook
- Assembly
- Kook.Net.Core.dll
表示一个可延迟加载的缓存实体。
public readonly struct Cacheable<TEntity, TId> where TEntity : IEntity<TId> where TId : IEquatable<TId>
Type Parameters
TEntity
可延迟加载的缓存实体的类型。
TId
可延迟加载的缓存实体的 ID 的类型。
- Inherited Members
Properties
HasValue
获取此实体是否已缓存。
public bool HasValue { get; }
Property Value
Id
获取此实体的唯一标识符。
public TId Id { get; }
Property Value
- TId
Value
如果可以从缓存中获取实体,则获取该实体。
public TEntity? Value { get; }
Property Value
- TEntity
Remarks
此属性不保证非空;在无法从缓存中拉取实体的情况下,此属性返回 null
。
Methods
DownloadAsync()
将此实体下载到缓存中。
public Task<TEntity?> DownloadAsync()
Returns
- Task<TEntity>
一个表示异步下载操作的任务。任务结果包含下载的实体;如果无法通过 API 请求下载实体,或下载的实体无法转换为
TEntity
,则为null
。
GetOrDownloadAsync()
如果实体已存在于缓存中,则返回该实体;否则下载该实体并返回。
public Task<TEntity?> GetOrDownloadAsync()
Returns
- Task<TEntity>
一个表示异步获取或下载操作的任务。任务结果包含所获取或下载的实体;如果无法通过 API 请求下载实体,或下载的实体无法转换为
TEntity
,则为null
。