namespace A
{
public class A1
{
public int A11()
{
}
}
}namespace B
{
public class B1
{
public int B11()
{
A1.A11();
}
}
}如果在B中引用A11,以前能否不加A1类名,如何实现?在VB中Module是不是等于C#的namespace概念?
{
public class A1
{
public int A11()
{
}
}
}namespace B
{
public class B1
{
public int B11()
{
A1.A11();
}
}
}如果在B中引用A11,以前能否不加A1类名,如何实现?在VB中Module是不是等于C#的namespace概念?
{
public class A1
{
public int A11()
{
return 0;
}
}
}namespace B
{
public class B1
{
public int B11()
{
return new A.A1().A11();
}
}
}
他是用来防止冲突的。
就是在一个命名空间里每个类的名字必须是唯一的。而在不同的命名空间可有两个类名一样的
例如
namespace City
{
public class Home //City命名空间里的类Home
{
public void Thinking()
{
Console.WriteLine("家里很幸福");
}
}
}
namespace Away
{
public classs Home //Away命名空间里的Home
{
public void Thinking()
{
Console.WriteLine("我已经离开家一年了!我很想家.")
}
}
}
两个类的名字都叫Home如何使用它们呢?想下
对了,就是靠命名空间来区分的。
根据命名空间加与区分就很容易让编译器知道你用那个类了。
City.Home myHome= new City.Home();
myHome.Thinking();//这里输出 :家里很幸福
Away.Home leaveHome=new Away.Home();
leaveHome.Thinking();//这里输出: 我已经离开家一年了!我很想家如果你不加命名空间的话,编译器无法找到所要的类了。编译器只会跟着你所给的命名空间下去找类。如果你不提供的话,那么编译器到不到,就会报错。
http://www.23book.net/SoftwareDev/VB/54877.htm
2
http://topic.csdn.net/t/20050810/10/4199931.html
标准模块里盛的过程、函数、声明通常在全局范围有效;你不用加任何限定符就可以直接用标准模块里的东西。命名空间提供了一种组织相关类和其他类型的方式。与文件或组件不同,命名空间是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中。
答:是不可以的.因为你在不同的命名空间中,而且是不同类中的方法.
参考实现: (使用静态方法,可以直接通过类去调用而不用创建它的实例)
namespace A
{
public class A1
{
public static int A11()
{
return 1;
}
}
}
namespace B
{
public class B1
{
public int B11()
{
return A.A1.A11();
}
}
}
2.在VB中Module是不是等于C#的namespace概念
VB我没用用,不能解答。
本题要A.A1().A11();