精华内容
下载资源
问答
  • 命名空间与类库

    千次阅读 2016-05-04 17:57:44
    一、命名空间可以看成是类的“容器”,它可以包含多个类。如果要使用命名空间中的类,需 要指明其命名空间。 using MyDLL;或MyDLL.MyPublicClass obj=new MyDLL.MyPublicClass();两种方式都可以。 命名空间是...
    一、命名空间可以看成是类的“容器”,它可以包含多个类。如果要使用命名空间中的类,需
    

    要指明其命名空间。
    using MyDLL;或MyDLL.MyPublicClass obj=new MyDLL.MyPublicClass();两种方式都可以。

    命名空间是可以嵌套的。
    namespace MyDLL
    {
      //…
      namespace MyChildDLL
      {
        public class MyPublicChildClass
        {
        }
      }
    }
    外界可通过以下格式的声明来使用此类型:
    MyDLL.MyChildDLL.MyPublicChildClass obj2 =new MyDLL.MyChildDLL.MyPublicChildClass

    ();或using MyDLL.MyChildDLL;

    二、类库
    将可以在多个项目中使用的代码封装为可重用的软件模块,人们通常将可以重用的软件模块称

    为“软件组件”。
    在全面向对象的.NET 软件平台之上,软件组件的表现形式为程序集(Assembly),可以通过

    在Visual Studio 中创建并编译一个类库项目(Class Library)得到一个程序集。
    类库项目编译之后,会生成一个动态链接库(DLL:Dynamic Link Library)文件。这就是可

    以被重用的.NET 软件组件——程序集。默认情况下,类库文件名就是项目名加上“.dll”后

    缀。
    需要仔细区分“类库项目”、“程序集”和“命名空间”这三个概念的区别:
    (1)每个类库项目编译之后,将会生成一个程序集。
    (2)类库项目中可以拥有多个类,这些类可属于不同的命名空间。
    (3)不同的类库项目可以定义相同的命名空间。
    (4)一个程序集可以有多个命名空间,而一个命名空间也可以分布于多个程序集。
    一旦生成了一个程序集,在其他项目中就可以通过添加对这一程序集的引用而使用此程序集中

    的类,要注意指明其命名空间。其方法是在vs2012“项目”菜单中选择“添加引用”命令,选

    择一个现有的程序集文件(DLL 或EXE)。

    展开全文
  • 其实学C#很久都没有弄明白命名空间、类、函数、变量的关系,现在大致捋一下,如下图: 1)命名空间 namespace 中可包含多个类 class,命名空间将这些类打包起来。一个命名空间想调用另一个命名空间中的类时,就需要...

    其实学C#很久都没有弄明白命名空间、类、函数、变量的关系,现在大致捋一下,如下图:

    1)命名空间 namespace 中可包含多个类 class,命名空间将这些类打包起来。一个命名空间想调用另一个命名空间中的类时,就需要首先使用using+命名空间名字 声明命名空间。有点类似于C里面的 #include。

    2)通过class关键字定义,如下图的Form1。在类中有变量和函数。变量和函数不能写到命名空间中哦。

    3)函数,可以算是类的功能,一个类中通常有多个函数,实现多种功能。就比如电视机是一个类,然后电视机这个类的函数也就是它的功能就有,播放视频、发出声音、换台,等等。要注意的是,在类中通常我们会看到一个和类同名的函数,它没有返回值,也通常没有输入参数(形参),如图中的public Form1(),这个函数叫做构造函数,它的作用一般就是初始化类的一些成员变量,默认是没有形参的,不过如果有需要可以将其重载为有形参的(直接添加所需形参)。其他的与类不同命,且具有返回值的函数叫做类的成员函数,实现各种类的功能。

    4)变量,定义在类里面但是在函数外面的变量称为成员变量,它在整个类中一直存在;定义在函数内部的变量叫做局部变量,只存在于当前函数中。成员变量占用的内存比局部的大,只需要在函数里面用一下的变量一般定义为局部就好了。关于内存占用的问题以后找时间再总结一下。

    嗯,基本就是这样啦,简单的捋一下自己的理解也更加清晰了,比心~


    展开全文
  • 在一个命名空间中声明的类的名称另一个命名空间中声明的相同的类的名称不冲突。 我们举一个计算机系统中的例子,一个文件夹(目录)中可以包含多个文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件...

    1、什么是命名空间?

         命名空间设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。

         我们举一个计算机系统中的例子,一个文件夹(目录)中可以包含多个文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名。

    2、为什么要使用命名空间?

         就像上面定义里说的, 在较大的项目中,开发人员有很多,我们的代码可能和其他开发者的代码使用相同的类名、接口名、函数或常量名,如果不使用命名空间,使用名称时会起冲突。而使用命名空间将代码放到唯一的厂商命名空间里,我们的代码就可以和其他开发者使用相同的类名、接口名、函数或常量名。

    3、命名空间与类之间的区别?

        个人感觉:类是对象数据和操作的封装,是一个封装体。而命名空间就像是承装封装体的盘子,可以盛放多个封装体。而不同的盘子里面可能放着相同命名的封装体,在调用时只要表明具体的命名空间,就不会导致命名冲突。

    4、命名空间如何引入?

         通过using关键字,常见的用法是:

    using System;

    using Namespace std;

    ......

    5、采用using 关键字引入不同的命名空间,作用是什么?

         引入命名空间就相当于引入包的作用,这样就可以使用其中的变量名和函数

    比如用using namespace std,表示所有的标准库函数都在标准命名空间std中进行了定义。

    6、列举C#中常用的命名空间

    using System; 主命名空间,包含所有.net基础类型和通用类型,比如Object,比如string等等
    using System.Collections; 集合命名空间,包含常用的如ArrayList等集合类
    using System.Configuration; 配置命名空间,包含应用程序配置相关的类比如:ConfigurationManager
    using System.Data; 数据命名空间,包含ado.net最基础的类型,比如DbConnection等
    using System.Linq; 3.5引入的linq语法需要提供的支持类,主要包含了Enumerable扩展方法支持类
    using System.Web; asp.net所需要的核心命名空间,包含诸如HttpRuntime等的基础运行环境类
    using System.Web.Security; asp.net在角色验证和安全方面的类库,比较重要的是FormsAuthentication
    using System.Web.UI.WebControls; 服务器控件,如GridView就是在这个里面
    using System.Data;包含有关专门操作SqlServer数据库的类,如SqlConnection,SqlCommand,SqlDateAdapter等,而Oledb中则包含的是操作所有数据库的类
    using System.Collections.Generic;泛型集合命名空间

    代码举例 :

    using System;
    namespace first_space
    {
       class namespace_cl
       {
          public void func()
          {
             Console.WriteLine("Inside first_space");
          }
       }
    }
    namespace second_space
    {
       class namespace_cl
       {
          public void func()
          {
             Console.WriteLine("Inside second_space");
          }
       }
    }   
    class TestClass
    {
       static void Main(string[] args)
       {
          first_space.namespace_cl fc = new first_space.namespace_cl();
          second_space.namespace_cl sc = new second_space.namespace_cl();
          fc.func();
          sc.func();
          Console.ReadKey();
       }
    }

     

    展开全文
  • C#第2讲:初识类和命名空间

    千次阅读 多人点赞 2018-08-11 19:27:22
    命名空间(nameSpace) : 简单来说就是放类的地方。假如图书馆中的书是一个类,那命名空间就是图书架。一般他将类按照功能或者某种特性分类组织,方便我们使用和维护。 二、代码说明 using System; namespace ...

    一、说明

     类(class):他是构成程序的主体,是最基础的C#类型,将状态(字段)和操作(方法和其他函数成员)组合在一个单元中。

    命名空间(nameSpace) :   简单来说就是放类的地方。假如图书馆中的书是一个类,那命名空间就是图书架。一般他将类按照功能或者某种特性分类组织,方便我们使用和维护。

    二、代码说明

    using System;
    namespace HelloWorld
    {
        class Program
        {
            static void Main(string[] args)
            {
                //以下的代码代表是在控制台上打印括号里面的内容
                Console.WriteLine("Hello World!");
                //这一行代码表示读取在控制台上输入的一个字符,这里其实不是必须的,
                //加上这行代码是让我们有时间看清打印出来的内容,否则程序一闪而过
                Console.ReadKey();
            }
        }
    }
    

    代码第二行:namespace HelloWorld表示命名空间为HelloWorld,后面花括号里面的代码都属于这个命名空间之下。

    代码第四行:class Program表示这是一个类,类名是Program,其中包含了我们上一讲中编写的代码。

    从上面的代码中就可以很清楚的看到类和命名空间的关系。

    再看一下第一行代码using System;这行代码中的System是一个命名空间,using System的作用就是将System这个命名空间引用到我们的程序中来,因为主函数的中的Console这个类属于System这个命名空间下的,如果我们要使用其他的命名空间下的东西,必须要进行引用操作,否则代码是不认识的。这边我在介绍一下不用using引用的情况下,如何使用其他命名空间下的类:直接在代码中使用[命名空间].[类名]来使用,这种操作叫做全限定名引用,但是可想而知假如代码中用100或更多处引用将会产生好多冗余代码,所以一般只有几处或者有类名冲突的时候采用。

    我们在以后写代码的过程中要给自己的类名起一个直观且准确的名字,并且放在正确的命名空间中,这样方便我们自己写程序,也方便别人引用我们的程序。

    三、类库和类库的引用

    类库,顾名思义就是类的仓库,类是图书馆中的一本书的话,那类库就好比是图书馆了,命名空间是一个个分门别类的书架,或者说是图书的分类。

    类库的引用是使用命名空间和类的物理基础,就好比没有图书馆(类库),你拿不到四大名著(命名空间)之一的西游记(类)。那有人就疑惑了,那为啥我也没有引用Console(上面代码中的)所在的类库,我怎么就能使用?那是因为我们在创建项目的时候会自动帮我们引用常用的类库,不同类型的项目默认引用的类库不一样。

    类库的引用分为两种:

    1、DLL引用:dll动态链接库,是我们的程序编译后产生的,一般在项目文件夹里面的bin文件夹里面,是C# 的类库,引用他就可以使用它里面包含的类,但是不通过反编译技术的话看不到里面的源代码,即你不知道作者是如何实现具体功能的,所以也称为黑盒引用。

    一个DLL要配合对应的说明文档才能被合理的使用,那么这么在项目中引用DLL呢?看图:

    点击浏览后选择需要引用的DLL就好了,一般我们会把第三方的dll文件统一放在项目根目录的lib文件夹里面,方便管理。引用完成以后,就可以在我们的项目中使用类库里面的类了。看代码:

    using System;
    using Calculate;
    
    namespace SayHello
    {
        class Program
        {
            static void Main(string[] args)
            {
                //调用自己引用的第三方类库中的加法方法计算12和13的和
                double resault = Operation.Add(12, 13);
                Console.WriteLine(resault);
                Console.ReadKey();
            }
        }
    }
    

    引用的类库中有个命名空间Calculate下的Operation类中有加减乘除方法,dll下载试玩:https://pan.baidu.com/s/1lZLVrEsRbmsP3unUE4e8EA

    有时候我们需要引用一组类库(有些功能需要很多类库支持,比如我们以后会学到的entity framework),一个个添加很麻烦的,也不现实容易出错。微软很贴心的给我们提供了一个很棒的功能呢NuGet,通过它我们可以实现对一组类库的引用和操作,可通过下面的路径打开,感兴趣的可以自己了解一下。

    2、直接引用一个项目:即直接引用项目,将一个项目引用过来,我们不仅可以使用里面的类,还可以看到里面的源代码,这种也成为白盒引用。

    先将项目添加到当前的解决方案中,一个解决方案可以包含多个项目,一个项目也可以隶属于多个解决方案,按照下面的指引添加一个现有的项目

    接下来添加引用,方法和上面添加DLL类似,选择项目进行添加:

    四、依赖关系

    你在项目中引用了某一个类库,那么你的项目就和你引用的类库产生了依赖关系,也就是你的项目依赖于这个类库,在类的级别上也有依赖关系,在你的类中使用了其他类的方法,那么也对这个类产生依赖。我们倡导尽量弱的依赖关系,为什么呢?试想一下,假如你在你的项目中引用了某个类库,并且使用了类库中某个类的方法,一旦这个方法有错误那么会导致你项目的功能受到影响,以后要特别注意。

    下一讲:C#第3讲:类、对象和类的主要成员

     

    展开全文
  • C#类与命名空间

    千次阅读 2021-08-18 23:15:26
    你可能就对类和命名空间放置在那有疑问,不必疑惑,它们是放在类库里,类库、顾名思义就是类的仓库了,本篇文章也会介绍如何对项目添加类库的引用,类类之间一旦互相引用了,它们之间就产生了依赖关系,...
  • 两个同范围(同一个类中,或者父子类中)两个同名但参数类型不同或者参数个数不同的方法互相间构成重载关系。 两个构成重载关系的方法(函数)必须满足以下条件: (1)方法(函数)名相同; (2)参数类型不同,...
  • 在一个命名空间中声明的类的名称另一个命名空间中声明的相同的类的名称不冲突。 一个文件夹(目录)中可以包含多个文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名。 如把命名空间引用到程序...
  • 这两天做监控中心项目开发,很有意思,手底下的兄弟 在开发过程中 遇到的一个很诡异的问题 重新下载项目之后,调试运行 系统提示某类库下引用的命名空间不存在。是不是引用的类库项目没生成?重新单独运行生成要引用...
  • Yii 2.0最显著的特征之一就是引入了命名空间,因此对于自定义类的引入方式也同之前有所不同。这篇文章讨论一下如何利用Yii 2.0的自动加载机制,向系统中引入自定义类和命名空间。 我们希望被引入的类应该达成一下...
  • PHP中的命名空间

    2016-03-17 22:11:28
    在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用的代码(如类或函数)时碰到的两类问题: 用户编写的代码PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。为很长的标识符名称创建一个...
  • 命名空间和程序集的关系: 1. 从属于一个命名空间的各个类型可能在不同的程序集中实现。例如:system.IO.FileStream类型是在MSCorlib.dll 程序集中实现的,而System.IO.FileSystemWatcher类型是在System.dll 程序...
  • 对于没有涉及到类库或只在一个项目中中编写程序时,我们一般并不会遇到“未能找到类型或命名空间名称”的提示。因为函数之间都在一个项目中,可以相互查询到。 但当学会利用类库写程序时,那么类库之间的调用就很...
  • C#初始类和命名空间

    2020-05-17 08:20:09
    本节内容: 1、剖析Hello,World程序 1.1初始类(class)名称空间(namespace) 2、类库的引用 2.1DLL的引用(黑盒引用) ...命名空间可以有效的避免同名的类有冲突。 C#是完全面向对象的语言,整个程序都包含在一...
  • 是不是有人也像我一样,弄不清他们几个的关系呢? 1、项目  新建项目的同时,会自动建立此项目对应的解决方案名称,默认二者名称一样。  在.Net下,一个项目可以表现为多种类型:控制台应用程序、类库、web应用...
  • 一、解决方案、项目、程序集、命名空间 初学者很容易把这些概念搞混淆。先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件。在.Net下,一个项目可以表现为多种类型,如控制台应用程序,Windows...
  • .NET

    千次阅读 多人点赞 2019-07-17 11:15:41
    文章目录.NET.NET Framework.NET和C#是什么关系跨语言和跨平台是什么跨语言跨平台.NET技术栈的分析.NET Core.NET StandardCLSCTSCLR,.NET虚拟机类库基础类库BCL框架类库FCL.NET程序执行图.NET官方开源项目链接 ...
  • C#常用命名空间

    千次阅读 2017-09-15 17:52:46
    C#常用命名空间 一、基础命名空间 System 处理内建数据、数学计算、随机数的产生、环境变量、垃圾回收器及一些常见的异常和特征. System.Collections 包含了一些集合相关...
  • 命名空间与composer

    2017-03-11 17:23:12
    命名空间 命名空间定义方式:在"标签后的第一行声明,这个命名空间声明语句后声明的所有php类、接口、函数和常量都在这个命名空间中。也可以使用子命名空间,使用\符号把命名空间和子命名空间分开。在同一个命名空间...
  • Spring

    千次阅读 多人点赞 2020-02-04 17:41:35
    IOC快速入门、Bean的创建、IOC注解、AOP简介注解、事务控制 IOC原理 , AOP原理 ? IOC容器的初始化过程 BeanFactory如何创建bean? Spring Bean的创建过程 Spring的事务有了解吗? Spring里是如何管理事务的? ...
  • Geodatabase 命名空间 该类库提供了统一的接口来访问空间数据,使用频率非常高的接口 IFeatureClass、ITable、IQueryFilter 等接口都是位于该类库中。用户在打开要素类、打开表、查询数据、读取数据、更新数据时都...
  • 在我们使用命名空间的时候,只完成了一种逻辑关系的独立。意思也就是说,对于PHP引擎来说,当他看到 namespace myclass;的时候,可以知道,此名称以下定义的类库拥有了一个独立的空间,名字叫做 myclass 。而同样的...
  • 前端面试题

    万次阅读 多人点赞 2019-08-08 11:49:01
    前端面试题汇总 ... 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? 21 ... 21 Quirks模式是什么?它和Standards模式有什么区别 21 ...img的alttitle有何异同? strongem的异同? 22 你能...
  • 类库引用是使用名称空间的物理基础 不同技术类型的项目会默认引用不同的类库 dll引用(黑盒引用) 1.特点:无源代码,需要有使用文档;使用.dll后缀的动态链接库。如果库有错误无法修改 2. 添加类库依赖:项目——...
  • Java基础

    千次阅读 多人点赞 2019-02-25 21:04:13
    Java 是面向对象程序设计语言,集安全性、简单性、易用性和跨平台性等于一身,不仅可以解决传统的程序设计问题,更重要的是它互联网密切相关,特别适合于网络环境下编程使用。 利用 Java 可以开发Java 小程序...
  • 测试开发笔记

    万次阅读 多人点赞 2019-11-14 17:11:58
    沟通 在测试前期开发沟通 确认测试重点 确认测试的优先级 了解开发人员技术和业务背景 业务水平 技术水平 代码质量 人员流动性 在测试结束后 对已发现的bug进行统计 知道高发概率bug 在新项目中要进行重点测试 ...
  • WPF学习

    万次阅读 多人点赞 2019-03-05 22:00:17
    第一行xmlns是默认命名空间。和都来自默认空间。Title是窗体标题,Height是窗体高度,Width是窗体宽度。可以引用CLS的命名空间。 引用第三方的类库: xmlns:common(映射名,自定义)="clr-namespace:...
  • C#常用命名空间列表

    千次阅读 2017-05-10 09:33:57
    C#常用命名空间 一、基础命名空间 System 处理内建数据、数学计算、随机数的产生、环境变量、垃圾回收器及一些常见的异常和特征. System.Collections 包含了一些集合相关的类型,...
  • 使用composer自动加载php命名空间

    万次阅读 2016-05-05 15:09:27
    上一篇介绍了php的命名...有,可以使用composer自动加载命名空间。 要在php项目中使用包依赖管理工具composer首先得安装,这个自行搜索,就不多说了。安装之后再项目根目录下创建一个composer.json文件。 目录结构

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,843
精华内容 10,737
关键字:

命名空间与类库关系