Go to file
2025-02-17 20:26:57 +08:00
.vscode 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
MinLong 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
ModelingMusic 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
MODS 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
Tanchishe 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
.editorconfig 重构Music和MusicFrom类,优化键盘监听和按键处理逻辑 2025-01-07 19:46:11 +08:00
.gitattributes One 2024-08-25 17:55:05 +08:00
.gitignore 修复嵌套While的内存泄漏 2024-08-27 21:52:00 +08:00
App.config 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
Chouka.cs 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
Debug.csproj 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
Debug.dtd 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
Debug.sln One 2024-08-25 17:55:05 +08:00
Debug.xsd One 2024-08-25 17:55:05 +08:00
image.png 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
Program.cs 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
ProxySettingsHelper.cs 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
README.md 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
SearchFile.cs 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00
zidonghua.cs 新增多个类并重构现有类,优化活动管理逻辑;添加配置文件和自动化功能,更新项目结构 2025-02-17 20:26:57 +08:00

ModelingDebug

C#-Net控制台程序

模块继承

如果一个类继承了Activity那么使用GetTypesInheritingFrom把他们全部获取 如果继承了请在里面加入一些可被识别的变量类型

public static Title = "模块选择器";
public const Title = "模块选择器";

string Title 是模块的标题 int Priority 是优先级,数字越小越靠前展示

规范使用

继承了Activity的类的方法并且同时使用了模块选择器的 类 里面要有 Title Priority

选择器

string[] str = ["模块", "模块", "模块", "模块"];
var modeSwitch = new ModeSwitch("请选择你要执行的操作:", str, (a) =>
{
    switch (a)
    {
        case 0:
            //需要执行的方法模块
        break;
        case 1:
        break;
        default:
            printfLine("还没有这个功能");
        break;
    }
});

模块选择器

正确的说是加载所有Activity的一个选择器 显示到页面中(如图) alt text

选择器的使用

内置选择模式
可自由添加模块
PgUp/W 上选择
PgDn/S 下选择
1···9快捷数字选择
Enter(回车) 确定执行
Esc 选择退出 Enter(回车) 返回选择器
如果选择器被传入了一个类型,则选择器会返回这一个类
public ModeSwitch(object class_, string title, string[] a, Action<int> Enter, string message)

打包和运行

Visual Studio Code
Visual Studio 2022
其他能运行C# Net8.0的程序

方法

  1. 模块选择器
    public ModeSwitch(object class_, string title, string[] a, Action Enter, string message) 可选的是class_,message class_是标记我可以用Esc返回这个类 message是底部的提示信息你可以在这里标注每个功能的使用方法
  2. Activity
    自动获取被他继承子类的Title方法
  3. TypeHelper
    获取所有被这个父类继承的子类 var ActivityType = new TypeHelper<类>();

自定义 获取子类的静态标题和优先级的变量定义 public TypeHelper(string title, string Priority)

GetTitles()获取所有子类的标题

GetTypesInheritingFrom() 获取所有子类 这个默认在创建的时候就执行了

如果你要获取被获取的类的列表可以使用ActivityType.result这个就是列表