C# <;名称空间>;是一个';类型';,在给定上下文中无效
我讨厌检查布尔值以查看状态,然后根据状态切换它们,所以我写了一些东西来帮我做 它不断给我以下错误: 是“类型”,在给定上下文中无效 以下是名称空间和类:C# <;名称空间>;是一个';类型';,在给定上下文中无效,c#,namespaces,syntax-error,C#,Namespaces,Syntax Error,我讨厌检查布尔值以查看状态,然后根据状态切换它们,所以我写了一些东西来帮我做 它不断给我以下错误: 是“类型”,在给定上下文中无效 以下是名称空间和类: namespace Bool { public class ToggleState { static bool Toggle(bool Bool) { if (Bool == true) { return false
namespace Bool
{
public class ToggleState
{
static bool Toggle(bool Bool)
{
if (Bool == true)
{
return false;
}
else
{
return true;
}
}
}
}
这是给出错误的代码
Test = Bool.ToggleState(Test);
这是因为您的名称空间被称为“Bool”,这使它成为一种类型 我为你重构了一下
namespace Bool //Your namespace, it's a type
{
public class ToggleState // Your class, also a type
{
static bool Toogle(bool boolValue)
{
return !boolValue; //revert bool value and return it back
}
}
}
名称Bool(当前名称空间)很容易与结构Bool(变量类型)混淆。考虑给它一个更有意义的名字。 这是因为您的名称空间被称为“Bool”,这使它成为一种类型 我为你重构了一下
namespace Bool //Your namespace, it's a type
{
public class ToggleState // Your class, also a type
{
static bool Toogle(bool boolValue)
{
return !boolValue; //revert bool value and return it back
}
}
}
名称Bool(当前名称空间)很容易与结构Bool(变量类型)混淆。考虑给它一个更有意义的名字。 尽管毫无疑问名称空间命名并不完全是最好的,但如果您解决了以下几个问题,我看不出有任何理由不起作用: 1) 您应该有
Test=Bool.ToggleState.Toggle(测试)代码>
2) Toggle
方法应该是公共的尽管毫无疑问名称空间命名并不是最好的,但如果您解决了以下几个问题,我看不出有任何理由不起作用:
1) 您应该有Test=Bool.ToggleState.Toggle(测试)代码>
2) 切换
方法应该是公共的不要在名称空间、类、方法、变量等之间共享名称。不要获取您的代码。。。似乎您应该使用Test=Bool.ToggleState.Toggle(测试)你的意思是“return!Bool;”?不要在名称空间、类、方法、变量等之间共享名称。不要获取你的代码。。。似乎您应该使用Test=Bool.ToggleState.Toggle(测试)你的意思是“返回!Bool;”吗?