从 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 方法,它相对容易稳健地实现。