C# 如何使用自定义名称空间?
在Mono basis中,有一个例子: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";
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文件。