+ -
当前位置:首页 → 问答吧 → C#问题求助!!!!!!!!!!!!啊

C#问题求助!!!!!!!!!!!!啊

时间:2011-12-21

来源:互联网

同一个“解决方案”下有2个项目A和B,要使A项目中能调用B项目中的类,就必须[color=#FF0000][/color]先“添加引用”项目B,然后在A的代码里using B的命名空间[color=#000000][/color]芳可调用


这里using我还能理解,但是为什么需要“添加引用”?光是using命名空间为什么不可以?

作者: dazitou   发布时间: 2011-12-21

同一个“解决方案”下有2个项目A和B,要使A项目中能调用B项目中的类,就必须先“添加引用”项目B,然后在A的代码里using B的命名空间芳可调用


这里using我还能理解,但是为什么需要“添加引用”?光是using命名空间为什么不可以?

作者: dazitou   发布时间: 2011-12-21

using本身不是必须的。

using只是为你使用其中的符号提供了简单的写法。

如果你去掉using,并且在所有引用类的地方写完整的命名空间,同样可以编译。

比如

using ABC;

...
A a = new A();
a.xxx();

你去掉 using ABC

然后这么写:
ABC.A a = new ABC.A();
a.xxx();

一样可以。

作者: caozhy   发布时间: 2011-12-21

记住 using 的意义是提供简写。

假设苏州和上海都有解放路,我现在和你说一件事情,上海解放路今天堵车,我有2个写法:

(1)上海的解放路今天堵车。
(2)我先声明我在上海。然后我说解放路今天堵车。因为我声明我在上海了,所有后面我提到解放路就是上海的解放路。

而引用的本质是给编译器加上 /reference 参数,使得编译器可以识别外部源代码的符号。

作者: caozhy   发布时间: 2011-12-21

引用 2 楼 caozhy 的回复:

using本身不是必须的。

using只是为你使用其中的符号提供了简单的写法。

如果你去掉using,并且在所有引用类的地方写完整的命名空间,同样可以编译。

比如

using ABC;

...
A a = new A();
a.xxx();

你去掉 using ABC

然后这么写:
ABC.A a = new ABC.A();
a.xxx();
……


这个我知道的啊,我整个命名空间的概念都懂了。。。
我要问的是,“添加引用”这个概念。
当A项目要访问B项目中的某一个类的时候,需要先“添加项目”,然后using。。。。。不懂“添加项目”的作用是什么

作者: dazitou   发布时间: 2011-12-21

我已经说了,引用的本质是给编译器加上 /reference 参数,使得编译器可以识别外部源代码的符号。

另外真怀疑你是不是理解了 using。。。

作者: caozhy   发布时间: 2011-12-21

各位可能把我说的“添加引用”和“命名空间”混淆了
我说的“添加引用”就是,鼠标右击某一个项目,然后再点击“添加引用”,就是这个“添加引用”我不懂

作者: dazitou   发布时间: 2011-12-21

引用 5 楼 caozhy 的回复:

我已经说了,引用的本质是给编译器加上 /reference 参数,使得编译器可以识别外部源代码的符号。

另外真怀疑你是不是理解了 using。。。


我是理解using了啊。。。我说过了“添加引用”是一个“按钮”。。。和命名空间毫无关系

作者: dazitou   发布时间: 2011-12-21

相关阅读 更多