为了账号安全,请及时绑定邮箱和手机立即绑定

当前上下文中不存在名称“猫”

当前上下文中不存在名称“猫”

C#
拉风的咖菲猫 2022-12-24 10:59:35
我正在创建的“猫”对象出现错误。它说即使我刚刚创建它,它在当前上下文中也不存在。我什至不知道主要方法到底在哪里添加这个所以我只是把它放在部分类部分。我确定那是不对的,但阅读我的书没有帮助,它只是说要把它放在 Visual Basic 中,但不是确切的位置。我习惯了 Java,你可以在记事本中创建一个主类,但在 VB 中没有。我要问的代码是粗体的,实际上不是 Pet 类的一部分。考虑到它们采用相同的方法,我没有尝试太多。它应该承认它,但事实并非如此。我在这里/谷歌上看到的每个答案都没有正确创建对象。对我来说,它看起来应该是这样的:Pet cat = new Pet("10", "Fido", "Cat");这是课程的一部分:namespace PetClassesandObjects{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        Pet cat = new Pet("10", "Fido", "Cat");        cat.GetName();我将使用该对象来调用 Pet 类中的方法。
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

您的代码在类级别,但它需要在方法中。


在类级别定义对象是什么,但在方法中定义对象的作用。它执行的逻辑操作等。只需将您的代码放在一个方法中:


public partial class Form1 : Form

{

    public Form1()

    {

        InitializeComponent();

    }


    public void DoSomething()

    {

        Pet cat = new Pet("10", "Fido", "Cat");

        cat.GetName();

    }

}

至于GetName()它本身应该做什么,或者你希望看到什么输出,或者你什么时候调用这个DoSomething()方法,这一切都取决于你。但是操作本身将在一个方法中。


如果你仍然想要,你至少可以在类级别定义变量,如果该对象定义了你的表单是什么:


public partial class Form1 : Form

{

    Pet cat = new Pet("10", "Fido", "Cat");


    public Form1()

    {

        InitializeComponent();

    }


    public void DoSomething()

    {

        cat.GetName();

    }

}

(旁注:给你的方法起一个比“做某事”更好的名字。这只是一个人为的例子来说明这一点。变量/方法/类/等的好名字很重要,将帮助你理解你自己的代码。)


查看完整回答
反对 回复 2022-12-24
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

因此,继续 David 的评论,您只需将一个按钮添加到您的表单中,然后双击它以创建存根处理程序。从那里您可以在标签中显示返回值,例如:


public partial class Form1 : Form

{


    public Form1()

    {

        InitializeComponent();

    }


    Pet cat = new Pet("10", "Fido", "Cat");


    private void button1_Click(object sender, EventArgs e)

    {

        label1.Text = cat.GetName();

    }


}


查看完整回答
反对 回复 2022-12-24
  • 2 回答
  • 0 关注
  • 54 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信