1

我想在 C# 中创建一个命令行应用程序,用户可以将其用作脚本语言。我的意思是在应用程序第一次运行时,创建一个对象的实例,并在会话的其余部分持续存在。从命令行对应用程序的任何后续调用都使用先前设置的参数。

例如,如果您有一个名为 woo.exe 的应用程序,它创建了一个名为 ball 的对象。Ball 有一个名为 changeColor 的方法,它接受一个字符串作为输入。我们对 changeColor 的命令行调用将是。

woo changeColor red

现在如果球有一个方法 getColor() 返回球对象的颜色,调用命令

woo getColor 你的颜色是红色(来自 Console.WriteLine("Your color is {0}", color) 的输出)

这样,用户可以创建批处理文件,通过多次调用程序在单个对象上运行方法。

非常感谢您的帮助。

4

2 回答 2

2

一种可能的方法是:

  • 调用woo.exe,创建对象
  • 现在 woo.exe 完成了,对吧?以任何方便的格式将对象序列化到磁盘(我会选择 XML,因为它具有表现力且易于在 C# 中解析)
  • 使用新参数再次调用 woo.exe。加载对象,进行更改,再次序列化。

另一种可能的方式:

  • woo.exe 首次加载,创建对象并等待。
  • 加载另一个实例,通过进程间通信(管道或本地网络)找到第一个实例并向其发送命令(调用方法)。
  • 第一个实例充当服务器,保存对象并对其执行更改。
于 2012-06-04T05:13:26.740 回答
1

详细说明@alxx 的建议 - 这完全取决于该对象在属性更改之间的作用。如果它所做的只是记住这些值,请使用第一个建议。如果对象做了某事(如果您将颜色设置为红色,则某事变为红色),那么您可能需要该某物存在于某个进程中的某个地方,这将是您自己的进程,您应该采用第二个建议。

于 2012-06-04T05:24:28.070 回答