摘要: C++实现事件机制主要靠类的继承重写虚函数,映像比较深的MFC,以On开头的函数。这样如果要实现类B监听类A的机制,就必须用类B继承类A,这种强制的继承让人很不爽。C#的事件机制就比较好,类A发布事件,任何类都可以订阅,且没有强制的继承关系。C++典型的重写虚函数事件机制: 1 //------------------------------------------------- 2 // 3 // c++ use extends class implement event. 4 // 5 //------------------------------------------------- 阅读全文
posted @ 2011-03-04 15:29 香山飘雪 阅读(1947) 评论(1) 推荐(0) 编辑
摘要: 指针就是变量的地址。引用就是变量的别名。 1 #include <stdio.h> 2 3 //reference is nickname of the variable. 4 //pointer is address of variable. 5 int _tmain(int argc, _TCHAR* argv[]) 6 { 7 int x = 1000; 8 int * pointer = &x; 9 int & reference = x;10 //11 printf("-----------------values---------------- 阅读全文
posted @ 2011-03-03 15:53 香山飘雪 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 解析XML,Android有两种法师,SAX方式(流和事件,使用比较大的XML,比较要求性能的),DOM方式(整个文件加载并解析完毕,提供接口操作,使用小的XML,不要求性能的)。代码片段:SAX:import javax.xml.parsers.SAXParserFactoryimport javax.xml.parsers.SAXParser//SAXParserFactory factory... 阅读全文
posted @ 2010-10-25 17:15 香山飘雪 阅读(487) 评论(1) 推荐(0) 编辑
摘要: 1. Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。2. assets文件夹是存放不进行编译加工的原生文件。 res文件夹:res/anim/ :XML文件动画文件。res/drawable/ :.png、.9.png、.jpg文件,编程:Resource.getDrawable(id)res/layout/ :被编译为屏幕布局(或屏幕的一部分)的XML文件。res/val... 阅读全文
posted @ 2010-10-25 17:05 香山飘雪 阅读(478) 评论(0) 推荐(0) 编辑
摘要: DDMS选项卡中集成了Logcat,可以运行时打印出程序运行的信息。(这个和c# 调试控制台一样)在程序中可以使用java.util.Log类来进行跟踪。这个类包含了五个方法:Log.v Log.d Log.i Log.w Log.e .区别如下:一、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","")。二、Log.d的输出颜... 阅读全文
posted @ 2010-10-25 16:51 香山飘雪 阅读(605) 评论(0) 推荐(0) 编辑
摘要: C#编程经常使用属性,也经常用特性,但是自定义用的比较少,但是老外的代码却很多使用。今天介绍一下,其实很简单。第一:自定义特性继承System.Attribute类。第二:自定特性命名后缀为Attribute,这样符合微软的命名风格,也符合编译器的搜索规则。第三:使用[]语法使用自定义特性。第四:可以使用反射来查看自定义特性;测试代码如下:[代码]解释:我定义了一个ExtraAttribute的自... 阅读全文
posted @ 2010-10-18 14:53 香山飘雪 阅读(1745) 评论(0) 推荐(0) 编辑
摘要: 第一:绑定运算符,:=:comboBox1.Text :=: textBox1.Text; //将文本框的内容绑定到下拉框。第二:带参数的泛型构造函数:public class T MyClass : T: class, new()//we might havepublic class T MyClass : T:class, new(int)第三:支持null类型运算:int x? = null... 阅读全文
posted @ 2010-10-15 14:54 香山飘雪 阅读(3622) 评论(22) 推荐(0) 编辑
摘要: 字符串和字节流的转化,主要用的是System.Text.Encoding类,下面的代码示例,实现了UTF8,UTF32,GB2312常用编码的文本转化,代码很简单,也不用解释,放在这里供大家参考,方便之余,还是赞叹一个.net的给力吧!![代码] 阅读全文
posted @ 2010-09-16 13:46 香山飘雪 阅读(4990) 评论(1) 推荐(1) 编辑
摘要: 首先这个原作者没有提供源代码,这个代码是我根据作者原意写的,这里面包括我前面介绍到的Lambda,LINQ,表达式树,反射和Tuple.综合了很多新特性,也算是一个不错的综合示例,可以当个考题,哈哈。问题源自于:如果你有一大堆的各式各样类的示例,现在你要Dump所有这些类的属性,改怎么做?方法一:使用传统的反射,代码很简单,就是得到某一个类的实例,然后得到类的类型,从类型获得所有的属性,然后得到具... 阅读全文
posted @ 2010-09-02 17:10 香山飘雪 阅读(2770) 评论(11) 推荐(2) 编辑
摘要: 这是P-INVOKE系列的最后一篇,也是万剑归宗的一篇,基本上只要函数签名对了,用他可以传递任何参数,函数的输入输出参数和返回值你也可以随心所欲地修改。把这个放在最后也是最完美的结局吧!!C++:测试代码如下:[代码]C#:在P-INVOKE中,我把C++指针参数Marshal成C#类的输入参数,把C++返回值为结构体的Marshal成字符串。注意下面的P-INVOKE声明。UnmanagedTy... 阅读全文
posted @ 2010-08-27 17:54 香山飘雪 阅读(2913) 评论(2) 推荐(0) 编辑