名称“temp”在当前上下文(C# 桌面应用程序)中不存在
本文关键字:桌面 应用程序 不存在 上下文 temp 名称 | 更新日期: 2023-09-27 18:31:59
我正在使用以下代码制作一个 C# 桌面应用程序:
static class ClassA
{
public static string Process()
{
string temp = Functions.Test();
return temp;
}
}
static class Functions
{
public static string Test()
{
return "ok";
}
}
问题是变量"temp"没有从Test()函数中获得任何值。当我尝试在即时窗口中检查其值时,我收到消息"名称'temp'在当前上下文中不存在"
ClassA 和 Functions 都在单独的类文件中,但属于同一个命名空间。
我知道这是一个较老的问题,但希望这也有助于新的开发人员: 我遇到了类似的问题,并意识到我的两个类(在两个不同的项目中)针对两个不同的框架。一旦我将它们切换到两个目标 Net Framework 4.5,它们就完美编译并且没有这个问题。
尝试
static class ClassA
{
string temp = Functions.Test();
public static string Process()
{
return temp;
}
}
static class Functions
{
public static string Test()
{
return "ok";
}
}
我可以重现错误的唯一方法是检查
? temp
在代码未运行时的即时窗口中。
如果通过以下方式调用实际方法
? ClassA.Process()
它工作得很好。
此外,如果在return temp;
行上放置断点并运行程序,则"即时窗口"将在检查时给出正确的结果
? temp
当调试器在断点处停止时。在这一点上,temp
将在当前上下文中。
将以下内容添加到代码中:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(ClassA.Process());
Console.ReadLine();
}
}
返回"确定"
您的代码还有其他问题。