c#中的命名空间作用域
本文关键字:作用域 命名空间 | 更新日期: 2023-09-27 17:51:06
名称空间是否也定义了类中的作用域?
- 例如,我有一个默认情况下由解决方案命名的命名空间。比如在Program.cs中命名空间的名字是"MySolution"
- 在我创建的下一个文件接口中,命名空间的名称是"Interfaces"
当我回到类,实现这个接口时,它不在作用域中(我无法在智能感知中找到它)。所以如果类有一个命名空间,接口有第二个命名空间,那么我就不能在类中使用它。我认为名称空间仅用于组织类(如姓氏),但我猜它也定义了作用域。
" namespace关键字用于声明一个包含一组相关对象的作用域。您可以使用名称空间来组织代码元素,并创建全局唯一的类型。" https://msdn.microsoft.com/en-us/library/z2kcy19k.aspx
要使用来自另一个名称空间的类、接口、结构、枚举、委托,您需要使用类型的完全限定名,或者在类的顶部使用using Interface;
声明对该名称空间的引用。即:
using Interfaces; //can reference namespaces here
namespace MySolution
{
public class Program
{
//or you can use the fully qualified name of the type
public Program(Interfaces.MyInterface example)
{
}
}
}