C# 控制台应用程序命令 session 历史记录

标签 c# command-line-interface

我有简单的命令行应用程序,我想存储在程序启动之间输入的命令。

单独存储不是问题,我知道该怎么做,但是我如何恢复它? Console 类没有任何设置历史记录的方法,如果我在应用程序启动时按向上箭头,它是空的。

来自msdn的方法对于非托管代码对我没有帮助,好的答案可以告诉我如何在 C# 中使用它们来获得我需要的东西。

我的想法是仅使用 ReadKey 覆盖向上箭头,并以“困难”的方式进行,但如果有更简单的方法,我会很高兴。

最佳答案

我只需将命令保存为 XML 或关系数据库,当需要时,我会将 XML 反序列化为存储为列表或可能数组的适当对象(如果您有定义数量的命令,例如最后一个命令) 10)。然后按照您提到的方式重写相应的事件,并通过保留您在列表中的位置的计数器来迭代命令对象列表。

关于C# 控制台应用程序命令 session 历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13490497/

相关文章:

cassandra - 在使用 Datastax API(使用新的二进制协议(protocol))时在 Cassandra 中创建列族或表

linux - 如何使用参数在 Remote 之间复制文件

javascript - CasperJS 通过 CLI : How to load external JS files?

unix - 防止 Unix 树在空格前显示反斜杠

c# - 使用自动映射器从两个项目映射

c# - 有谁知道为什么这个 Razor 代码无法编译?

c# - 如何获取矩形内图像的内容?

c# - 如何在派生类中使只读属性可写?

javascript - 使用 jQuery 获取选定行的隐藏列的值

windows - 从命令行界面获取系统信息