C# 如何使用自定义名称空间?

C# 如何使用自定义名称空间?,c#,namespaces,mono,C#,Namespaces,Mono,在Mono basis中,有一个例子: using System; using System.Windows.Forms; public class HelloWorld : Form { static public void Main () { Application.Run (new HelloWorld ()); } public HelloWorld () { Text = "Hello Mono World";

在Mono basis中,有一个例子:

using System;
using System.Windows.Forms;

public class HelloWorld : Form
{
    static public void Main ()
    {
        Application.Run (new HelloWorld ());
    }

    public HelloWorld ()
    {
        Text = "Hello Mono World";
    }
}
我想知道如何在C代码中添加自定义名称空间?例如,添加一个新的命名空间

使用myComponent

为了连接新的字符串

myString.FirstString

编译时将导致错误:

using System;
using System.Windows.Forms;
using myComponents;

public class HelloWorld : Form
{
    static public void Main ()
    {
        Application.Run (new HelloWorld ());
    }

    public HelloWorld ()
    {
        Text = "Hello Mono World " + myString.FirstString;
    }
}
cs3,7:错误CS0246:类型或命名空间名称 找不到“myComponent”是否缺少using指令或 程序集引用

下面是自定义的myComponent,如何将Main和myComponent集成在一起

namespace myComponent
{
    public static class myString
    {
        public static string FirstString
        {
            get
            {
                return "connection";
            }
        }
    } //Class end
}//Namespace end
我该怎么办?即使我在这两个文件中使用相同的名称空间mycomponet,我仍然会得到错误

谢谢

提供更多信息 1.两个cs文件位于同一目录中

2.执行进程如下所示 C:\Users\xxxxx\CSharpWorkSpace\Pop20b>csc helloworld.cs-r:System.Windows.Form s、 动态链接库 Microsoft R Visual C编译器版本2.6.0.62309 d3f6b8e7 微软公司版权所有。版权所有

警告CS1668:指定的搜索路径“C:\Program Files x86\sql11\LIB”无效 在“LIB环境变量”-“目录不存在” helloworld.cs3,7:错误CS0246:无法输入类型或命名空间名称“myComponent” 找不到缺少using指令或程序集引用吗

C:\Users\xxxxx\CSharpWorkSpace\Pop20b>mono-version Mono JIT编译器版本5.10.0 Visual Studio构建的Mono 版权C 2002-2014 Novell,Inc.和Xamarin Inc.及其贡献者。www.mono-proj etc.com

如果已定义名称空间,则只能使用名称空间。您可以通过在该名称空间中创建类、结构、枚举或其他对象,或者包括具有该名称空间的程序集来实现这一点

如果您将这一点放入代码中,您的使用将起作用:

namespace myComponents
{
    public class SomeComponent
    {
    }
}

你甚至有一个名为myComponents的名称空间吗?是的,实际上,它是一个VS2015项目,在WIndows7中运行良好。现在,客户希望在Linux平台上使用此应用程序,因此,我正在尝试Mono。但我失败了。该项目有许多自定义名称空间。@Sebastian,我更新了这个问题,你能看一下吗?我会从遵循.NET命名约定开始,即使是在这样的示例代码中。任何不遵循约定的行为都会立刻让人分心。好吧,这回答了我的问题:或者如果名称空间是在project@bradbury9事实上,我的答案中包含了@bradbury9,我尝试在MainForm和myComponent中使用相同的名称空间myComponent,但仍然遇到相同的错误。我已经更新了描述,你能看一下吗?@PatrickHofman,我尝试过使用相同的名称空间,它可以工作。但我仍然想保留两个文件,我不想将它们合并到一个文件中,因为这是一个大型项目。我能做什么?谢谢。@Raymond.Cao我会将enphasis放在上面,或者包含一个程序集,该程序集具有Patrick答案中的名称空间。如果SomeComponent命名空间位于不同的.cs文件中,则应调整csc.exe行以包含所有使用的.cs文件。