Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在cs文件中动态添加代码?_C#_Xaml - Fatal编程技术网

C# 如何在cs文件中动态添加代码?

C# 如何在cs文件中动态添加代码?,c#,xaml,C#,Xaml,我正在制作一个短文件,以便通过一个小型WPF应用程序轻松编写javascript。我有一个需求,需要根据我引用的DLL中的一些可用类创建代码。 问题是我不确定我是否每次都会得到特定的类,并且基于该类我必须生成代码。 所以,如果我在编写代码时考虑了所有存在的类,而DLL没有这些类,那么就会抛出编译错误。有什么解决办法吗 让我举例说明。 引用的DLL最多可以包含三个类:蔬菜、水果和谷物 我的XAML.CS文件如下 main() { method1(); method2();

我正在制作一个短文件,以便通过一个小型WPF应用程序轻松编写javascript。我有一个需求,需要根据我引用的DLL中的一些可用类创建代码。 问题是我不确定我是否每次都会得到特定的类,并且基于该类我必须生成代码。 所以,如果我在编写代码时考虑了所有存在的类,而DLL没有这些类,那么就会抛出编译错误。有什么解决办法吗

让我举例说明。 引用的DLL最多可以包含三个类:蔬菜、水果和谷物

我的XAML.CS文件如下

main()
{
    method1();
    method2();
    method3();
}

method1()
{
    Vegetables obj = new Vegetables()
    //Code here    
}

method2()
{
    Fruits obj = new Fruits()
    //Code here    
}

method3()
{
    Grains obj = new Grains()
    //Code here    
}

DLL中可能缺少一个或两个类。我的代码会抛出错误,比如引用不存在。在这种情况下我能做什么

为什么不在运行时加载dll并创建与定义的协议匹配的对象的实例(通过接口或属性)?这可以是一个快速参考
https://www.c-sharpcorner.com/article/introduction-to-building-a-plug-in-architecture-using-C-Sharp/
。在这种情况下,您不会因为未加载DLL而出现异常。你的程序将在AppDomain中加载的DLL上运行。我不明白你能否改进这个问题。不明白你想做什么achieve@Seabizkit在上面的例子中,我试图使它尽可能简单。您没有访问包含所需代码的dll的权限吗?你们能不能在启动时把它们全部加载…?确切地说,我并没有任何权限访问创建DLL的机制。我所知道的是,里面可能有这样的课程。如果他们这样做了,我需要相应地制定计划。如果他们不这样做,我就不需要这样做。