在反射的外部dll类中填充List <things>

时间:2017-01-22 18:45:12

标签: c# .net dll reflection system.reflection

原谅我只是抓住这些条款,我在这里的C#知识的边缘,需要寻求指导。

我有一个DLL,它包含两个类和一个表单(附加类),其中一个类工作项有公共(字符串名称,int id)。

// in the DLL:
public class workitems {
     public string name {get;set;}
     public int id{get;set;}
}

主力类有一个在多个函数中使用的变量

// in the DLL:
public class workhorse {
    List<workitems> WorkLoad = new List<workitems>();

    public function DoThings() {   ..... stuff ...... }
}

在另一个程序中,我需要调用这个dll(我假设通过反射)。我试过了

 // in a separate C# script that needs to call this via reflection
 Assembly asm = Assembly.LoadFile(thedll);

但我无法弄清楚如何将工作项加载到变量中,然后使用这些工作项从dll调用函数...我对类型/类/ methodinfo / .GetType感到困惑......任何指导都会受到赞赏。

从必须调用dll文件的程序中我需要执行以下操作:

otherdll.workload.add( stuff )

otherdll.DoThings(); (which uses the workload from that class)

1 个答案:

答案 0 :(得分:1)

该代码假定您已经装配了using(SpeechRecognitionEngine speechEngine = new SpeechRecognitionEngine()) { //use the speechEngine with TaskCompletionSource //wait until it's finished try { var eventArgs = await tcs.Task; } catch(RecognitionFailedException ex) { //this would signal that nothing was recognized } } //dispose 是一个字段,而不是属性:

Workload