Skip to content

配置表的核心接口定义

定义了配置表的核心接口和基础定义

接口 IDataTableIDataTable<T> 的设计提供了一种抽象的方式来处理数据表。以下是对这些接口设计和说明的总结:

设计大纲

接口设计

  1. IDataTable:这是一个基础接口,提供了基本的数据表操作,如异步加载和获取数据表中对象的数量。

  2. IDataTable<T>:这是一个泛型接口,继承自 IDataTable 并扩展了更多操作,允许通过类型参数 T 来指定数据表中对象的类型。

功能说明

  • 异步加载 LoadAsync:允许数据表在不阻塞主线程的情况下异步加载数据。
  • 计数Count:提供了一种快速获取数据表中对象数量的方法。
  • 根据ID获取对象Get:提供了两种方式(通过整数或字符串ID)来获取数据表中的对象。
  • 索引器this[int id] 和 this[string id]:允许通过索引器语法直接通过ID访问数据表中的对象,类似于数组访问。
  • 获取首尾对象FirstOrDefault 和 LastOrDefault:提供了获取数据表中第一个和最后一个对象的方法。
  • 获取所有对象All 和 ToArray:提供了将数据表中的所有对象转换为数组的方法。
  • 条件查找Find 和 FindList:提供了根据条件查找单个或多个对象的方法。

设计原则

  • 泛型支持:通过使用泛型,接口能够适用于不同类型的数据表对象,提高了代码的复用性和灵活性。
  • 异步操作:通过异步加载方法,接口支持异步编程模式,有助于提高应用程序的响应性。
  • 索引访问:通过索引器提供对数据表的直接访问,使得对象检索更加直观和方便。
  • 条件查找:提供了基于函数的条件查找方法,允许灵活定义查找逻辑。

应用场景

  • 数据管理和存储:适用于需要管理和存储数据的应用,如数据库访问、数据缓存等。
  • 数据展示:适用于需要展示数据列表的应用,如表格视图、列表视图等。
  • 数据处理:适用于需要对数据进行条件筛选和批量操作的应用。

如何使用

所有的配置代码均通过工具自动生成.开发者.无需干预.直接调用接口使用

  1. 找到 GameFrameX.Config 程序集中的 ConfigComponent 调用 LoadConfig 进行配置的初始化和加载
  2. 方式1: 通过 ConfigComponent.Instance.Tables 调用具体的配置对象,
  3. 方式2: 通过 ConfigComponent.Instance.GetConfig 泛型的方式调用配置对象.

接口解析

LoadAsync

功能描述

异步加载数据表。

参数

无参数。

返回值

返回一个Task对象,表示异步操作的完成。

应用场景

适用于需要异步加载数据表的场景,如在UI应用中避免阻塞主线程。

示例代码

csharp
public async Task LoadAsync()
{
    // 异步加载数据表的实现
}

Count

功能描述

获取数据表中对象的数量。

参数

无参数。

返回值

返回数据表中对象的数量,类型为int

应用场景

用于统计数据表中的元素数量,如在数据分析或数据展示时。

示例代码

csharp
public int Count { get; }

Get(int id)

功能描述

根据整数ID获取数据表中的对象。

参数

  • int id:对象的整数ID。

返回值

返回与给定ID关联的对象,类型为泛型T

应用场景

用于通过整数ID查找并获取数据表中的对象。

示例代码

csharp
public T Get(int id)
{
    // 根据整数ID获取对象的实现
}

Get(string id)

功能描述

根据字符串ID获取数据表中的对象。

参数

  • string id:对象的字符串ID。

返回值

返回与给定ID关联的对象,类型为泛型T

应用场景

用于通过字符串ID查找并获取数据表中的对象。

示例代码

csharp
public T Get(string id)
{
    // 根据字符串ID获取对象的实现
}

this[int id]

功能描述

通过整数ID索引访问数据表中的对象。

参数

  • int id:对象的整数ID。

返回值

返回与给定ID关联的对象,类型为泛型T

应用场景

用于通过整数ID直接访问数据表中的对象,类似于数组索引。

示例代码

csharp
public T this[int id] { get; }

this[string id]

功能描述

通过字符串ID索引访问数据表中的对象。

参数

  • string id:对象的字符串ID。

返回值

返回与给定ID关联的对象,类型为泛型T

应用场景

用于通过字符串ID直接访问数据表中的对象,类似于数组索引。

示例代码

csharp
public T this[string id] { get; }

FirstOrDefault

功能描述

获取数据表中的第一个对象。

参数

无参数。

返回值

返回数据表中的第一个对象,类型为泛型T。如果没有对象,则返回默认值。

应用场景

用于获取数据表中的第一个元素,如在数据排序或初始化时。

示例代码

csharp
public T FirstOrDefault { get; }

LastOrDefault

功能描述

获取数据表中的最后一个对象。

参数

无参数。

返回值

返回数据表中的最后一个对象,类型为泛型T。如果没有对象,则返回默认值。

应用场景

用于获取数据表中的最后一个元素,如在数据排序或初始化时。

示例代码

csharp
public T LastOrDefault { get; }

All

功能描述

获取数据表中所有对象的数组。

参数

无参数。

返回值

返回包含数据表中所有对象的数组,类型为泛型T[]

应用场景

用于获取数据表中的全部数据,如在数据展示或批量处理时。

示例代码

csharp
public T[] All { get; }

ToArray

功能描述

将数据表中所有对象转换为数组。

参数

无参数。

返回值

返回包含数据表中所有对象的数组,类型为泛型T[]

应用场景

用于将数据表中的元素转换为数组进行进一步处理。

示例代码

csharp
public T[] ToArray()
{
    // 将数据表中的元素转换为数组的实现
}

Find(System.Func<T, bool> func)

功能描述

根据条件查找数据表中的单个对象。

参数

  • System.Func<T, bool> func:用于判断对象是否满足条件的函数。

返回值

返回满足条件的第一个对象,类型为泛型T。如果没有对象满足条件,则返回默认值。

应用场景

用于根据特定条件查找数据表中的单个对象。

示例代码

csharp
public T Find(System.Func<T, bool> func)
{
    // 根据条件查找对象的实现
}

FindList(System.Func<T, bool> func)

功能描述

根据条件查找数据表中的多个对象。

参数

  • System.Func<T, bool> func:用于判断对象是否满足条件的函数。

返回值

返回满足条件的所有对象的数组,类型为泛型T[]

应用场景

用于根据特定条件查找数据表中的多个对象。

示例代码

csharp
public T[] FindList(System.Func<T, bool> func)
{
    // 根据条件查找多个对象的实现
}