从 CodeDom 编译代码 C# Wpf 与 main window class 通信
Communicate with main window class from CodeDom compiled code C# Wpf
正如标题所暗示的那样,在代码编译的运行时,我在与我的 wpf 应用程序的 MainWindow.cs class 通信时遇到了一些麻烦。
上下文:
这是我为自己编写的一个应用程序,它利用 CodeDom 的编译器在运行时或在触发事件(如按钮或语音命令)
中编译以 xml 格式存储的代码
编译器工作正常,但我一直无法与原始应用程序中的 classes 通信。(MainWindow.cs)
我希望能够在运行时编译的 CodeDom 脚本中调用函数和访问变量。我找到了方法调用,但我不太明白它是如何工作的,任何帮助将不胜感激!
我想做的事的例子:
主要WindowClass示例
namespace WpfOverlay
{
public partial class MainWindow : Window
{
public string AccessThis;
public void ExampleFunctionToAccess(string InputString)
{
AccessThis = InputString;
}
}
}
并访问 class 以调用 ExampleFunctionToAccess(); 从 CodeDom Compiled script/class 在不同的命名空间(如果可能的话我不介意让它们在同一个命名空间中)
你在运行时编译它的事实与你的实际问题无关,你真正想要的是实现任何可能的 IPC 形式。
我推荐 UDP client/server 方法,它相对容易稳健地实现。
正如标题所暗示的那样,在代码编译的运行时,我在与我的 wpf 应用程序的 MainWindow.cs class 通信时遇到了一些麻烦。
上下文: 这是我为自己编写的一个应用程序,它利用 CodeDom 的编译器在运行时或在触发事件(如按钮或语音命令)
中编译以 xml 格式存储的代码编译器工作正常,但我一直无法与原始应用程序中的 classes 通信。(MainWindow.cs)
我希望能够在运行时编译的 CodeDom 脚本中调用函数和访问变量。我找到了方法调用,但我不太明白它是如何工作的,任何帮助将不胜感激!
我想做的事的例子:
主要WindowClass示例
namespace WpfOverlay
{
public partial class MainWindow : Window
{
public string AccessThis;
public void ExampleFunctionToAccess(string InputString)
{
AccessThis = InputString;
}
}
}
并访问 class 以调用 ExampleFunctionToAccess(); 从 CodeDom Compiled script/class 在不同的命名空间(如果可能的话我不介意让它们在同一个命名空间中)
你在运行时编译它的事实与你的实际问题无关,你真正想要的是实现任何可能的 IPC 形式。
我推荐 UDP client/server 方法,它相对容易稳健地实现。