C# 不同文件中的相同命名空间

标签 c# namespaces

我试图将实现移动到其他文件并在 Form1.cs 中得到错误“当前上下文中不存在 OpenPort”
请问有什么建议吗?

Form1.cs

namespace MyApp 
{ 
    void Form1Load(object sender, EventArgs e) 
    { 
        OpenPort(); 
    }
}

Port.cs

namespace MyApp 
{ 
    public static void OpenPort();
}

最佳答案

首先,您不能直接在命名空间中声明方法或属性。您必须首先声明一个类,在其中编写您的方法。然后,如果你想在不同的文件中“传播”同一个类,你应该添加 partial关键词。

Form1.cs

namespace MyApp
{
    public partial class MyClass
    {
        public void Form1Load(object sender, EventArgs e)
        {
            OpenPort();
        }
    }
}

Port.cs

namespace MyApp
{
    public partial class MyClass
    {
        public static void OpenPort()
        {
            // your implementation here
        }
    }
}

关于C# 不同文件中的相同命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44428062/

相关文章:

php - Composer,我的包中的类没有在使用它的应用程序中自动加载

c# - 将 JSON 字符串解析为 .NET 对象

用于将 xml 解析为不带命名空间的节点的数组的 PHP 函数

使用 use 或 namespace 语句时出现 php 语法错误 : unexpected '/' ,

c# - 从 SQLite View 获取 DataGrid 数据

c++ - SWIG c++ python 构造函数类型错误(可能是命名空间问题)

c++ - Swig 在命名空间别名上给出 "unknown namespace"错误

c# - Style 和 ControlTemplate 的区别

c# - 编写需要嵌入加密数据库的 C# 桌面应用程序。我应该使用什么类型的数据库?

c# - 有没有更好的方法使用 C# 从列表中删除元素?