【问题标题】:c# identifier not foundc# 未找到标识符
【发布时间】:2010-02-27 23:12:51
【问题描述】:
using System;

namespace it2b_project_01
{
    static class class1
    {
        static public class1()
        {
            InitializeComponent();
        }


        public static void error_check(object sender, EventArgs e)
        {
        }
    }
}

(不同的.cs文件)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace it2b_project_01
{
    public partial class Create_an_Order : Form
    {
        public Create_an_Order()
        {
            InitializeComponent();
        }

        private void Create_an_Order_Load(object sender, EventArgs e)
        {

        }

        private void Order_Button_Submit_Click(object sender, EventArgs e)
        {
            class1.error_check();
        }
    }
}

创建一个 Order.cs(26,13):错误 CS0103:当前上下文中不存在名称“class1”。

【问题讨论】:

  • 这真的可以编译吗?我在代码中找不到class1.InitializeComponent

标签: c#


【解决方案1】:

制作

static class class1

public static class class1

找不到它,因为它不是公开的

【讨论】:

  • 同样的错误?还需要给函数传参数---class1.error_check(sender, e);
  • class1 未找到。我在 class1 下得到一条蓝线。
  • 从 class1 构造函数中移除 public
  • 对我不起作用 JDMX static class1() { InitializeComponent(); }
  • 有人告诉我你是如何做到的,包括你是如何添加 .cs 文件的。
【解决方案2】:
  1. 静态构造函数中不允许使用 public 等访问修饰符,因此请从 class1 构造函数中删除 public。

  2. 错误检查需要您没有传入的 2 个参数。

我做了这两件事,它遵守了。

【讨论】:

  • 静态 class1() { InitializeComponent(); } public static void error_check(object sender, EventArgs e) 我做了修改,还是一样。
  • 是 - 即当我单击 .sln 文件 (Visual Studio) 时 Class1.cs 文件也会打开
  • 一个sln文件内可以有多个项目
  • @mt12:打开解决方案时打开的类文件在逻辑上并不意味着该类文件是解决方案中任何项目的一部分。这意味着您上次保存解决方案时已在编辑器中打开了类文件。如果您从未将它添加到任何项目中,那么它实际上并没有被编译。右键单击项目并选择“添加现有项目”。
猜你喜欢
  • 2020-01-29
  • 2016-07-25
  • 2014-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多