using System;
namespace Exercise
{
public abstract class Gun
{
public Gun(string name, int bullets)
{
}
public string Name { get; set; }
public int Bullets
{
get { return Bullets; }
set
{
if (value < 0)
{
throw new Argument?xception("Bullets cannot be below 0");
}
else
{
Bullets = value;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我试图运行的代码。我已经检查过,框架是一样的,这是对类似问题的回答。我正在使用 VS 代码并下载了所有必要的扩展。你知道是什么导致了这个错误吗?
找不到类型或命名空间名称“Argument?xception”(您是否缺少 using 指令或程序集引用?)
问题是您使用的“E”。它是U+0415,或“西里尔大写字母 ie”...而不是 ASCII 大写字母 E。
只需重新输入,E一切都会好起来的。
当您遇到像这样不太合理的错误时,如果您怀疑这可能是一个奇怪的字符问题(在这种情况下是不正确的字符,或者无法打印的字符),您可能需要使用我有的一个小实用程序在网页上 - 我的Unicode 浏览器。只需将文本(在本例中我复制了“Argument?xception”)粘贴到文本框中,然后查看它包含的字符。
你还应该考虑你是如何进入这种状态的——如果你能弄清楚你是如何在那里得到一个非 ASCII 字符的,那么你将来可能会避免它。