C#,cmd行应用程序在第一次调用时创建对象,在所有后续调用中使用对象

时间:2012-06-04 04:56:07

标签: c# command cmd

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

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

  
    

woo changeColor red

  

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

  
    

woo getColor     您的颜色为红色(来自Console.WriteLine的输出("您的颜色为{0}",颜色))

  

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

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

一种可能的方式是:

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

另一种可能的方式:

  • 第一次加载woo.exe,创建对象并等待。
  • 加载另一个实例,通过进程间通信(管道或本地网络)查找第一个实例,并向其发送命令(调用方法)。
  • 第一个实例就像服务器一样,保存对象并对其执行更改。

答案 1 :(得分:1)

详细说明@ alxx的建议 - 一切都取决于该对象在属性更改之间的作用。如果只是记住这些值,请使用第一个建议。如果对象做了某些事情(如果你将颜色设置为红色,某些东西变成了红色),那么你可能需要在某个进程内部存在某些东西,这将是你自己的进程,你应该采用第二个建议。