摘要:
委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。 将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问候 阅读全文
摘要:
@property是一个属性访问声明,扩号内支持以下几个属性:1,getter=getterName,setter=setterName,设置setter与getter的方法名2,readwrite,readonly,设置可供访问级别2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料)4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release,再Copy出新的对象,retainCount为 阅读全文
摘要:
创建定时器:NSTimer *timer=[NSTimerscheduledTimerWithTimeInterval:5 target:self selector:@selector(zongXueTiaoMove) userInfo:nil repeats:YES];上面的zongXueTiaoMove是一个方法,将5秒钟被调用一次取消定时器:[timerinvalidate] 阅读全文
摘要:
用户控件可以让开发人员对VS控件进行组装。下面我们来创建一个按钮的用户控件我们可以给它添加属性,并且添加相应鼠标移入、移出事件。步骤:1、创建一个项目,该项目主要用来设计用户控件。2、创建一个用户控件窗体,用来设计用户控件。3、向用户控件窗体中添加一个按钮(button1),给它添加相应的移入、移出事件,实现移入时按钮的背景设置一个图片,移出的时候背景设置另一个图片。 private void button1_MouseEnter(object sender, EventArgs e) { this.button1.Image = Image.FromFile(@"images\背景 阅读全文
摘要:
今天这篇文章我们将使用.NET C#来进行事务性编程,从浅显、简单的本地事务开始,也就是我们用的最多的ADO.NET事务处理,然后我们逐渐扩大事务处理范围,包括对分布式事务处理的使用,多线程事务处理的使用。数据库事务处理数据库事务处理我们基本都很熟悉了,begin Transaction ……end Transaction,将要进行事务性的操作包在代码段里,为了便于文章有条理的讲解下去,我还是在这里穿插一个简单的小示例,便于与后面的代码进行对比分析。例1:我们在数据库里建两张表,也就是很简单一列信息。表1名:test表2名:test2目的是为了掩饰事务的特性,所以我们这里给表1test的nam 阅读全文
摘要:
Convert NSString to intNSString*aNumberString =@"123";inti = [aNumberString intValue];Convert int to NSStringintaNumber = 123;NSString*aString = [NSStringstringWithFormat:@"%d", aNumber]; 阅读全文
摘要:
在Android开发中,定时器一般有以下3种实现方法:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(Runnable, long)方法三、采用Handler与timer及TimerTask结合的方法下面逐一介绍:一、采用Handle与线程的sleep(long)方法Handler主要用来处理接受到的消息。这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释。1. 定义一个Handler类,用于处理接受到的Message。Handler handler = new Handler() { p 阅读全文
摘要:
在数据传递过程中,我们创建一个delegate进行辅助:helpDelegate.h文件#import <Foundation/Foundation.h>@protocol helpDelegate- (void)passValue:(NSString*)value;@endhelpDelegate.m里面都可以不用写内容接下来我们看下需要进行数据传递的2个类:第一个类:HelloWorldLayer.h文件#import "cocos2d.h"#import "helpDelegate.h"@interface HelloWorldLaye 阅读全文
摘要:
1. 文本文件与二进制文件的定义大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)。从上面可以看出文本文件基本上是定长编码的(也有非定长的编码如UTF-8),基于字符嘛,每个字符在具体编码中是固定的,ASCII码是8个比特的编码,UNICODE一般占16个比特。而二进制文件可看成是变长编码的,因为是值编码嘛,多少个比 阅读全文
摘要:
写个小东西,刚好用到枚举类型,需要显示在DropDownList控件中。尝试了下,用如下方法可以实现。比如定义了一个错误的枚举类型1publicenumeErrorDetailCode:int2{3登陆成功=0,4登出=1,5应用错误=2,6成功=16,7失败=178}需要引用using System;然后在循环中,遍历枚举对象的所有元素Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1foreach(intmyCodeinEnum.GetV 阅读全文