为什么我们参考其他项目?

mod*_*irl 1 c# inheritance namespaces reference visual-studio-2010

在查看具有多个项目的解决方案时:

1)为什么我们要添加对其他项目的引用?我们不能只使用继承吗?

2)在使用Visual Studio添加引用之后,为什么我们必须将项目添加到命名空间系统?例如:using myReferenceProject;我认为IDE会这样做.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using myReferenceProject;
using System.Data.SqlClient;
using System.Data;
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 9

1)为什么我们参考其他项目?我们只能使用继承???

它们是两个完全不同的概念.

添加对另一个程序集的引用基本上说,"我希望能够使用这些代码.请让编译器知道此代码存在,并且可选地将其复制到输出目录中,以便它在执行时也存在."

如果编译器不知道该类型,您期望如何使用继承来创建从某种类型派生的类?

2)在我们使用visual studio IDE提供参考之后,为什么我们必须将项目添加到命名空间系统?

因为程序集和命名空间也是不同的概念.一个using指令简单地告诉编译器"当我Foo在代码中引用类型时,查看这些命名空间以尝试解决它.​​" 该类型可能来自您引用的任何程序集.

了解程序集和命名空间之间的区别非常重要.即使它们经常被命名(Foo.Bar.dll通常在命名空间中提供类型Foo.Bar),但它们在概念上是不同的.