类库(Class Library)

.dll文件

类库字面意思就是类的集合,里面有很多被编译后的C#代码,不可阅读,不可修改,只能调用

类库是一个综合性的面向对象的可重用类型集合,这些类型包括:接口、抽象类和具体类。

类库可以解决一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)

还可以解决多种专用开发任务(控制台应用程序、桌面应用程序、WEB应用程序等)。

写类库

新建项目——类库——用C#编写代码(类一定是 public )——生产,生产解决方案——classlibrary/bin/Debug——.dll文件

引用

解决方案管理器——添加——浏览——找到类库文件——添加——属性,复制本地:true —— 在命名空间引用。

通用变量: var

is 和 as 运算符:

is  是判断某个对象是否是某种类型,返回bool值

 某对象  is  某类型         如果匹配上    返回true,

否则false

as 是将某个对象转换成某种类型,返回的是对象或是null

如果转换成功了,    返回对象

如果转换失败了,    不会报错,而是返回一个null值

委托delegate 

——方法的指针

当我们用delegate关键字声明委托时,编译器自动为我们生成类。

委托是一个类,它定义了方法的类型,

事件也是一种委托,但是是一种特殊的委托

使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,

可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

委托使用:

定义一种委托类型

委托执行时要调用方法

定义一个委托实例

委托实例的调用

结构

在类下面,min 函数上面定义委托

public  delegate  int  FirstDel ( int a , int b )

————————— min 函数 —————————

-- FirstDel  与 JiaJian 的格式一样

JiaJian    jj   =   new   JiaJian ( );                                返回值相同     都是 int

FirstDel   td   =   jj.JiaFa                                                参数相同        都是两个 int

................

td   =  jj . JianFa

—— 先设立了  JiaJian 类 包含 JiaFa 、JianFa  两个方法

面向对象 【类库】【委托】【is as运算符】的更多相关文章

  1. sdut 在机器上面向对象编程练习11(运算符重载)

    在机器上面向对象编程练习11(运算符重载) Time Limit: 1000MS Memory limit: 65536K 标题叙述性说明 有两个矩阵a和b,均为2行3列,求两个矩阵之和.重载运算符& ...

  2. 面向对象--类库、委托、is和as运算符、泛型集合

    类库: 其实就是一堆类文件,只是看不到这些类的源代码,保密性好. 优点:保密性好 缺点:如果这个方法不好用,使用者无法自己去更改它. 给的大多是dll文件.使用方法:引用右键,添加引用,浏览,选择到相 ...

  3. Simple JavaScript Inheritance--一个极简JS面向对象-类库

    面向对象 面向对象思想的几个重要特征(针对类的要求): 抽象-封装.信息隐藏(将内部实现的方法和数据隐藏, 定义开放的接口) 继承-子类可以使用父类的资源,并可以定制自己的资源, 资源包括方法和数据 ...

  4. SQL 面向对象(委托)

    委托:也称为代理,事件也是一种委托:定义在类的最外面 1.定义委托关键字:delegate函数签名:签名和函数保持一致定义委托的时候要根据函数来定义public delegate int First( ...

  5. 线程、委托、lambda运算符的简单示例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. C#面向对象22 委托事件反射

    1.委托的定义:声明委托类型(返回值和参数,命名空间中):定义委托对象 (把委托想象成函数中的占位符~因为你并不确定调用哪个函数~) using System; using System.Collec ...

  7. 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符

    [重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符   1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...

  8. C#特性知识图谱-一、委托

    一. 委托 1.1 委托定义 委托可以看成是一个方法的容器,将某一具体的方法装入后就可以把它当成方法一样调用.一个委托类型的变量可以引用任何一个满足其要求的方法.委托类似于C语言中的函数指针,但并不完 ...

  9. c++中实现委托

    成员函数指针与高性能的C++委托(上篇) 撰文:Don Clugston 引子 标准C++中没有真正的面向对象的函数指针.这一点对C++来说是不幸的,因为面向对象的指针(也叫做"闭包(clo ...

  10. 成员函数指针与高性能C++委托

    1 引子 标准C++中没有真正的面向对象的函数指针.这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价值. ...

随机推荐

  1. mssql中按周进行表分区的方法

    创建一个包含了一个持久化计算列的表,类似于下面.然后以这个列作为分区的依据. CREATE TABLE [dbo].[test] ( ) NOT NULL , [time] [DATETIME] NU ...

  2. mysql创建账号及管理权限

    mysql创建账号及管理权限 0.mysql版本8.0.15,服务器版本:RHEL 6.5 1.创建用户名密码 mysql> use mysql; mysql> create user ' ...

  3. Shell - 简明Shell入门13 - 用户输入(UserInput)

    示例脚本及注释 1 - arguments #!/bin/bash if [ -n "$1" ];then # 验证参数是否传入 echo "The first para ...

  4. log4j的日志级别(ssm中log4j的配置)

    log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF.FATAL.ERROR.WARN.INFO.DEBUG.TRACE. ALL. 1. ALL ...

  5. 判断一个类是否为另一个类的实例 instanceof关键字和isAssignableFrom方法的区别

    Which of the following is better? a instanceof B or B.class.isAssignableFrom(a.getClass()) The only ...

  6. odoo开发笔记 -- 权限机制

    转两篇关于权限的2篇文章,加深这方面的认识.注:后面附有原作者地址,希望不构成侵权. https://www.cnblogs.com/crazyguo/p/6999408.html 第一篇:http: ...

  7. Linux inode空间占满 “no space left on device”

    Linux inode空间占满 提示 “no space left on device” 中文环境:“无法创建XXX目录,设备没有空间” Linux系统iNode耗尽硬盘无法写入文件怎么办?df -h ...

  8. matlab中元胞数组的创建与内容读取

    一.创建元胞数组 1.用cell命令创建规格为2*2的空元胞 >> a=cell(2,2) a = [] [] [] [] 2.用大括号"{}"创建元胞数组并赋值 &g ...

  9. (转)python WSGI框架详解

    原文:https://www.cnblogs.com/shijingjing07/p/6407723.html?utm_source=itdadao&utm_medium=referral h ...

  10. const和define的差别

    1.const有什么用途?(1)可以定义const常量(2)const可以修饰函数的参数和返回值,甚至函数的定义体.被const修饰的东西都受到强制保护,可以预防以外的变动,能提高程序的健壮性. in ...