C# 从字符串输入获取命令
我有一个程序,它以字符串的形式获取命令。字符串中的每个字符表示一个命令。下面给出了一个命令示例C# 从字符串输入获取命令,c#,c++,C#,C++,我有一个程序,它以字符串的形式获取命令。字符串中的每个字符表示一个命令。下面给出了一个命令示例 OBIPC 打开一个文件 B-将文本加粗 我-使文本斜体 打印文本 C-关闭文件 我的程序必须解析这个字符串并执行相应的工作。每个命令都按顺序执行。我想出了下面的想法来做这件事 为每个命令创建操作类。每个都有一个Execute()方法,并实现一个可执行的接口。因此,如果我有5个命令,我将有5个类来处理每个命令 保存可在关联容器中执行操作的命令和关联对象(STD::C++中的MAP和.NET中的字典)
OBIPC
打开一个文件
B-将文本加粗
我-使文本斜体
打印文本
C-关闭文件
我的程序必须解析这个字符串并执行相应的工作。每个命令都按顺序执行。我想出了下面的想法来做这件事
有什么想法吗?许多脚本语言允许您调用类似eval()的函数,该函数基本上以代码形式运行字符串。这可能是做类似事情最简单的方法。。。也是最不安全的 许多脚本语言允许您调用类似eval()的函数,该函数基本上以代码形式运行字符串。这可能是做类似事情最简单的方法。。。也是最不安全的 是的。这正是我要做的,除了使用Runnable::run()而不是IExececutable::Execute()。是的。这正是我要做的,除了使用Runnable::run()而不是IExececutable::Execute()。每个命令真的需要5个类吗?您可以在.h中创建一个接口,该接口公开一个接受字符串的函数,该函数具有一个参数。在.cpp中,可以有一个从接口继承的类。隐藏在后面的类将负责分析字符串,并在其包含与命令无关的字符时抛出异常(字符的顺序是否重要?)。一旦分析结束,它可以为每个命令调用一个类函数。您真的需要为每个命令调用5个类吗?您可以在.h中创建一个接口,该接口公开一个接受字符串的函数,该函数具有一个参数。在.cpp中,可以有一个从接口继承的类。隐藏在后面的类将负责分析字符串,并在其包含与命令无关的字符时抛出异常(字符的顺序是否重要?)。一旦分析结束,它可以为每个命令调用一个类函数