C# Dot Net应用程序中出现意外字符错误

7

我有一个用C#创建的解决方案,其中有一段基础代码\u002Ector();。当我尝试从Visual Studio构建应用程序时,出现以下错误:

意外字符 '\u002E'


你能展示一下更多的代码吗? - bansi
嗨,以上是完整的代码... - Sreejith Unnikrishnan
请检查此链接是否有帮助:http://stackoverflow.com/questions/12329907/what-do-angled-brackets-mean-when-used-in-member-name-in-c - Muthukumar Palaniappan
你是指 base.ctor(); 吗? - bansi
嗯...看起来像是对某些 .net 代码的反汇编。C# 不使用 base.ctor();,它只被编译器使用。.ctor() 是构造函数使用的内部名称。 - bansi
显示剩余3条评论
1个回答

7

去掉 \u002E,就完成了!

002E 是一个句点或者说是点号('.')。

你的代码应该像这样:

base.ctor();

由于在不支持或破损的编码中通过不同的网站/程序传输程序源代码,可能会发生这种情况。

此外,ctor是构造函数的快捷方式。确保正确调用基类构造函数。

public class Animal
{
    public Animal()
    {
    }
}

public class Cat : Animal 
{
    // next line will be converted to
    // base.ctor() by compiler

    public class Cat() : base()
    {
    }
}

尝试移除base.ctor();以使你的类起作用。我认为应该可以工作,因为你的基类在构造函数中没有参数。

这没关系,但是我很困惑,因为我不确定那段代码的作用是什么。 :( - Sreejith Unnikrishnan
“\u002E”只是一个字符,不是指令或其他什么。你可以安全地删除它。如果你的程序中有单元测试,请确保运行它们。 - Roman Pushkin
它是 base..ctor() 还是 base.ctor()? - Sreejith Unnikrishnan
base.ctor(); 因为在 C# 中不使用双点。 - Roman Pushkin
base.ctor()... 它会显示一个错误信息,指出基类不包含 ctor 的定义。 - Sreejith Unnikrishnan
@SreejithUnnikrishnan,我已更新答案。您可以尝试删除base.ctor();它应该可以工作。 - Roman Pushkin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接