C#无法识别我的变量
我正在尝试从exe文件加载代码,然后将其创建到新的.exe文件中。但它无法识别我的变量“SourceCode”。它表示当前上下文中不存在名称“SourceCode”C#无法识别我的变量,c#,C#,我正在尝试从exe文件加载代码,然后将其创建到新的.exe文件中。但它无法识别我的变量“SourceCode”。它表示当前上下文中不存在名称“SourceCode” private void button1_Click(object sender, EventArgs e) { using (FileStream SourceCode = new FileStream("thecode.exe", FileMode.Open, FileAccess.ReadW
private void button1_Click(object sender, EventArgs e)
{
using (FileStream SourceCode = new FileStream("thecode.exe", FileMode.Open, FileAccess.ReadWrite, FileShare.None));
string Output = textBox3.Text;
String[] Assembly = { "System.dll", "System.Drawing.dll", "System.Windows.Forms.dll" };
CodeDomProvider CodeCompiler = CodeDomProvider.CreateProvider("CSharp");
CompilerParameters Parameters = new CompilerParameters(Assembly, "");
Parameters.OutputAssembly = Output;
Parameters.GenerateExecutable = true;
Parameters.GenerateInMemory = false;
Parameters.WarningLevel = 3;
Parameters.TreatWarningsAsErrors = true;
Parameters.CompilerOptions = "/optimize+ /target:winexe";
string Errors = null;
try
{
CompilerResults Results = null;
Results = CodeCompiler.CompileAssemblyFromSource(Parameters, SourceCode); //This here is giving me an error
if (Results.Errors.Count > 0)
{
Errors = "";
foreach (System.CodeDom.Compiler.CompilerError CompileError in Results.Errors)
{
Errors += "Line number " + CompileError.Line + ", Error Number: " + CompileError.ErrorNumber + ", '" + CompileError.ErrorText + ";\r\n\r\n";
}
下一行以分号“;”结尾
using (FileStream SourceCode = new FileStream("thecode.exe", FileMode.Open, FileAccess.ReadWrite, FileShare.None));
在C#中,分号是语句终止符,而不是行终止符。
您应该使用这样的语句声明您的
using(var Bar = new Foo())
{
}
因此,使您的代码:
using (FileStream SourceCode = new FileStream("thecode.exe", FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
}
下一行以分号“;”结尾
using (FileStream SourceCode = new FileStream("thecode.exe", FileMode.Open, FileAccess.ReadWrite, FileShare.None));
在C#中,分号是语句终止符,而不是行终止符。
您应该使用这样的语句声明您的
using(var Bar = new Foo())
{
}
因此,使您的代码:
using (FileStream SourceCode = new FileStream("thecode.exe", FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
}
顶部的using语句有一个
代码>在末尾。使用块用于确保在块的末端布置可处置资源。在这种情况下,如果没有{}
,您的using语句就没有什么用处了。要么使用{}
展开代码块,要么只声明变量而不使用using语句。希望这有帮助 顶部的using语句有一个代码>在末尾。使用块用于确保在块的末端布置可处置资源。在这种情况下,如果没有{}
,您的using语句就没有什么用处了。要么使用{}
展开代码块,要么只声明变量而不使用using语句。希望这有帮助 希望你已经解决了。请你在其中一个答案上做个记号好吗?希望你能把问题解决。请你在其中一个正确答案上划线好吗?