此异常指示在代码行上CodeDomProvider = cpp.CreateCompiler();
他说方法或操作未实现
输入图片描述
我的代码是
CppCodeProvider cpp = new CppCodeProvider();
CodeDomProvider.IsDefinedLanguage("Cpp");
CodeDomProvider.CreateProvider("cpp");
ICodeCompiler IC = cpp.CreateCompiler();
string Output = "Out.exe";
Button ButtonObject = (Button)sender;
textBox2.Text = "";
CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = true;
parameters.OutputAssembly = Output;
CompilerResults results = IC.CompileAssemblyFromSource(parameters, textBox1.Text);
if (results.Errors.Count > 0)
{
foreach (CompilerError CompErr in results.Errors)
{
textBox2.Text = textBox2.Text +
"Line number " + CompErr.Line +
", Error Number: " + CompErr.ErrorNumber +
", '" + CompErr.ErrorText + ";" +
Environment.NewLine + Environment.NewLine;
}
}
else
{
//Successful Compile
textBox2.ForeColor = Color.Blue;
textBox2.Text = "Success!";
//If we clicked run then launch our EXE
if (ButtonObject.Text == "Run") Process.Start(Output);
}
总之,正如我在评论中所说的,当您添加了一个方法,但没有在该方法中放置实现时,通常会发生方法或未实现操作异常。这通常发生在你使用智能感知生成一个方法时,并且是编译器告诉你"嘿,你需要在这里放一些东西"的方式。
public void MyMethod()
{
throw new NotImplementedException();
}
在方法中添加一个实现,甚至注释异常的抛出,都可以解决这里的问题。
public void MyMethod()
{
//throw new NotImplementedException();
}
已经说过,我知道抛出问题的方法不是你的代码,这更让你理解什么错误提示:
我认为你想做的事情可能不正确。在做了一些研究和查看MS学习页面后,你会注意到这是过时的,并且从。net Framework 2.0开始。
查看关于此主题的类似线程:如何在c#中使用CppCodeProvider编译c++代码