繁体   English   中英

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

[英]C#, cmd line application creates object on first call, uses object in all subsequent calls

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

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

哇changeColor红色

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

woo getColor你的颜色是红色的(输出来自Console.WriteLine(“你的颜色是{0}”,颜色))

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

非常感谢您的帮助。

一种可能的方法是:

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

另一种可能方式:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM