随笔分类 -  C# 高级应用

摘要:跨线程访问 点击“测试”,创建一个线程,从0循环到10000给文本框赋值,代码如下: private void btn_Test_Click(object sender, EventArgs e) { //创建一个线程去执行这个方法:创建的线程默认是前台线程 Thread thread = new 阅读全文
posted @ 2020-01-14 17:46 智者见智 阅读(465) 评论(0) 推荐(0) 编辑
摘要:创建线程 线程是通过扩展Thread类创建的。扩展的 Thread 类调用Start()方法来开始子线程的执行。 using System; using System.Threading; namespace MulityThreadNote { class Program { static voi 阅读全文
posted @ 2020-01-14 14:49 智者见智 阅读(334) 评论(0) 推荐(0) 编辑
摘要:泛型(Generic) 允许延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候 在泛型类型的定义中,出现的每个T(一个展位变量而已叫别的名字也行)在运行时都会被替换成实际的类型参数。 泛型方法 现在有一个需求,需要写一个方法,这个方法传入的参数可能是int型的,也可能是str 阅读全文
posted @ 2020-01-13 17:39 智者见智 阅读(765) 评论(0) 推荐(0) 编辑
摘要:事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。 C# 中使用事件机制实现线程间的通信。 通过事件使用委托 事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件 阅读全文
posted @ 2020-01-07 17:20 智者见智 阅读(18371) 评论(8) 推荐(5) 编辑
摘要:什么是委托 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。 委托是一种动态调用方法的类型,属于引用型。 委托是对方法的抽象和封装。委托对象实质 阅读全文
posted @ 2020-01-06 16:06 智者见智 阅读(5898) 评论(0) 推荐(0) 编辑
摘要:反射概念: 1. 在程序运行时动态获取类或对象的信息,具体包括了 动态获取加载程序集(Assmebly) 动态获取类型信息(如类、接口 等) - Type对象 动态获取类型的成员信息(如方法,字段,属性等); 2. 在运行时,动态创建类型实例(new),以及调用和访问这些实例成员; .Net反射机制 阅读全文
posted @ 2019-12-17 17:04 智者见智 阅读(510) 评论(0) 推荐(0) 编辑
摘要:程序集 程序集是代码进行编译是的一个逻辑单元,把相关的代码和类型进行组合,然后生成PE文件。程序集只是逻辑上的划分,一个程序集可以只由一个文件组成,也可由多个文件组成。不管是单文件程序集还是多文件程序集,它们都由固定的结构组成 常见的两种程序集: 可执行文件(.exe文件)和 类库文件(.dll文件 阅读全文
posted @ 2019-12-17 16:19 智者见智 阅读(14886) 评论(0) 推荐(5) 编辑
摘要:Attribute是什么 Attribute是一种可由用户自有定义的修饰符(Modifier),可以用来修饰各种需要被修饰的目标。我们可以对类、以及C#程序集中的成员进行进一步的描述。 简单地说,Attribute就是一种“附着物”——就像牡蛎吸附在船底或礁石上一样。 这些附着物的作用是为它们的附着 阅读全文
posted @ 2019-12-12 10:59 智者见智 阅读(17916) 评论(3) 推荐(6) 编辑
摘要:简介 进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码。进程之间是相对独立的,一个进程无法访问另一个进 阅读全文
posted @ 2019-03-05 19:00 智者见智 阅读(1513) 评论(0) 推荐(1) 编辑
摘要:一、什么是特性? 特性(attribute)是被指定给某一声明的一则附加的声明性信息。 在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。 using System; public class 阅读全文
posted @ 2019-01-24 18:26 智者见智 阅读(1097) 评论(0) 推荐(0) 编辑