Table of Contents

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

bool

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