我想知道是否有人知道如何从 c# 中的文本文件中运行 if 语句。 谢谢。
在 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