我想知道是否有人知道如何使用c#中的文本文件运行语句。 谢谢。
答案 0 :(得分:1)
在C#中,您可以在运行时以编程方式加载程序集。为了使该程序集可用,最好让它实现一个接口。完全取决于您在此界面中输入的内容。例如
public interface IMyAddIn
{
string GetUrl(string parameter);
}
现在,您至少需要3个程序集,即Visual Studio中的3个项目。一个是您的可执行项目(主项目)。另一个必须是声明此接口的类库项目(DLL)(我们称其为合同)。第三个也是类库项目(DLL),并实现了该加载项。
可执行文件和外接程序项目都必须引用合同项目。
现在,可执行项目可以像这样加载加载项:
var asm = Assembly.UnsafeLoadFrom(fileName);
string addInInterfaceName = typeof(IMyAddIn).FullName;
foreach (Type type in asm.GetExportedTypes()) {
Type interfaceType = type.GetInterface(addInInterfaceName);
if (interfaceType != null &&
(type.Attributes & TypeAttributes.Abstract) != TypeAttributes.Abstract)
{
var addIn = (IMyAddIn)Activator.CreateInstance(type);
// Let's assume that each add-in has only one class implementing the interface
return addIn.GetUrl(input);
}
}
如果您不想加载程序集,但确实执行文本给出的代码,请参见以下答案:https://stackoverflow.com/a/29417053/880990