【问题标题】:Sending an instance of an object's memory as a parameter发送对象内存的实例作为参数
【发布时间】:2016-05-10 14:20:12
【问题描述】:

我在我的 C# 文件中添加了另一个可执行程序作为参考。现在我正在过渡到该程序,方法是使用它的命名空间,然后使用第一个类来实例化一个对象,然后我只是显示该实例,即:

// Instantiate next screen using the namespace and accessing the first class
myProg.MainWindow myProgInst = new myProg.MainWindow();

// Call myProg
myProgInst.ShowDialog();

我的问题是,而不是打开一个新窗口 - 有没有一种方法可以让我将内存实例从 myProg 实际发送到调用它的程序,以便对象的元素将只是过渡到调用程序的窗口吗?本质上,如果我可以将其他程序信息扔到调用它的程序中,那么我试图消除新窗口的打开。也许你不能这样做,只是想我会问。

提前致谢

【问题讨论】:

  • 请显示您将数据发送到另一个程序的代码。
  • "将内存实例从 myProg 发送到调用它的程序,这样对象的元素就会过渡到调用它的程序的窗口" - 你是谈论进程间通信(IPC)?还是简单的命令行参数(arguments)?
  • @StepUp 我在问如何做到这一点。 Sinatr,它可能是一种形式,虽然我不熟悉那是什么。
  • 您可以从另一个进程return result(或结果,如果它不仅仅是一个简单的int,可以通过文件传递,该名称又作为命令行参数传递给@987654326 @)。查看更多关于IPC的信息。
  • 有意思,谢谢!

标签: c# wpf


【解决方案1】:

您可以在 c# 中使用“ref”通过引用发送对象。在其他程序中创建这样的方法并从 myProg 类中调用它。

//example
void Test (ref ClassName myProg)
{

}

此函数不会创建类的新对象,而是通过引用传递相同的对象。

我希望这是您的要求。

【讨论】:

  • 你能举个例子吗
【解决方案2】:

您可以在它们之间建立TCP 连接,两者都需要TCPlistenerTCP 客户端。 Here you can see a tutorial.

此外,您可以使用命名管道进行网络进程间通信See this tutorial.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多