声明 com coclass com coclass 在 c# 中表示为类。这些类必须具有与其关联的 comimport 属性。下列限制适用于这些类: 1、类不能从任何其他类继承。 2、类不能实现任何接口。 4、类还必须具有为其设置全局唯一标识符 (guid) 的 guid 属性。 以下示例在 c# 中声明一个 coclass:// 声明一个com类 filgraphmanager[comimport, guid("e436ebb3-524f-11ce-9f53-0020af0ba770")] class filgraphmanager{ } c# 编译器将添加一个无参数构造函数,可以调用此构造函数来创建 com coclass 的实例。 创建 com 对象 com coclass 在 c# 中表示为具有无参数构造函数的类。使用 new 运算符创建该类的实例等效于在 c# 中调用...
在页面和请求之间传递状态 为使应用程序能够工作,它需要能够维护请求之间的状态并将状态传递给绘图页面(如下所示)。 维护和传递状态有多种方式。如果应用程序是严格的单页面应用程序(和以前的应用程序一样),则可以使用视图状态,其中数据被编码存储在 web 页的隐藏输入字段中。 但是我们的图像控件是在单独的页面中进行绘图的,因此需要某些更灵活的东西。最好的选择就是 cookie 和会话状态。会话状态非常灵活,但要求使用服务器资源。浏览器可以保留 cookie,但其大小非常有限。 page_load page_load 是在创建页面对象之后以及在运行所有事件处理程序之前被调用的。因此 page_load 方法是加载永久数据的理想所在。如果找不到数据,就创建新的数据。以下是相关代码:private sub page_load(byval sender as system.object, _byva...
三.数据库合并问题 access里的两个表,想让两个表的内容合并 表[a]结构如下:[id] 编号 自动编号[name] 名称 文本[price] 价格 数字[guige] 规格 文本[changjia] 生产厂家 文本[baozhuang] 包装 文本[danwei] 单位 文本 共有900条记录,除了id和name字段,其他均可以为空 表[b]结构如下:[id] 编号 自动编号[name] 名称 文本[price] 价格 数字[changjia] 生产厂家 文本[danwei] 单位 文本[xingzhi] 性质 文本 共有800条记录,除了id和name字段,比表[a]少几个字段,但还多一个[xingzhi]的字符安其它均可以为空 现在想生成一个新表[c],结构如下,而且内容是两个表的内容之和。[id] 编号 自动编号[name] 名称 文本[price] 价格 数字[guige...
维护两个列表 因为我们要改变对象的填充颜色以实现 change fill to hot pink 按钮,因此维护了两个可绘制对象列表:一个列表是全部对象,另一个列表是可填充对象。我们为这两个列表都使用了 arraylist 类。arraylist 对象包含一组 object 引用 -- 这样一个 arraylist 可以包含系统中任何类型的混合。 这实际上并没有什么帮助 -- 我们希望 arraylist 仅仅包括可绘制/可填充对象。为此,我们将 arraylist 对象设为私有;然后将向列表添加对象的过程设为一个方法,该方法只接受一个 dshape。 当使用 add 方法向列表中添加对象时,我们将所有对象添加到 wholelist 中,然后检查对象是否还应添加到 filledlist 集合中。 请记住,add 方法(以及列表)具有类型安全特性:它只接受 dshape(或者从 dshap...
绘图如何改变 您会注意到,draw 方法与基类基本相同 -- 主要差别在于它调用了 fill 方法,因为要完成绘制一个填充对象,所以需要对其进行填充。我们没有为绘制轮廓重写代码,而是再次调用了基类的方法:visual basic .net 中的 mybase.draw(g) 或 c# 中的 base.draw(g);。 因为我们正在指派用于绘制轮廓的笔,因此需要使用 using 或 try/finally 和 dispose 以确保迅速释放 windows 笔对象。(同样,如果非常确信所调用的方法不会引发异常,可以在完成笔的处理后,跳过异常处理,而只调用 dispose。但我们必须调用 dispose,无论是直接调用,还是通过 using 语句。 实现 fill 方法 fill 方法很简单:指派一个画笔,然后在屏幕上填充对象 -- 并确保 dispose 画笔。 请注意,在 visua...
4) 应该在程序命名空间声明之前,包含下面的接口声明以添加对microsoft html (mshtml) iolecommandtarget接口的参照引用: using system;using system.runtime.interopservices;[structlayout(layoutkind.sequential,charset=charset.unicode)]public struct olecmdtext{ public uint cmdtextf; public uint cwactual; public uint cwbuf; [marshalas(unmanagedtype.byvaltstr,sizeconst=100)]public char rgwz;}[structlayout(layoutkind.sequential)]public struct o...
在分布式应用程序中,不可避免地会经常使用到事务控制。事务有一个开头和一个结尾,它们指定了事务的边界,事务在其边界之内可以跨越进程和计算机。事务边界内的所有资源都参与同一个事务。要维护事务边界内资源间的一致性,事务必须具备 acid 属性,即原子性、一致性、隔离性和持续性。本地事务和分布式事务--本地事务是其范围为单个可识别事务的数据资源的事务(例如,microsoft sql server 数据库或 msmq 消息队列)。例如,当单个数据库系统拥有事务中涉及的所有数据时,就可以遵循 acid 规则。在 sql server 的情况下,由内部事务管理器来实现事务的提交和回滚操作。分布式事务可以跨越不同种类的可识别事务的数据资源,并且可以包括多种操作(例如,从 sql 数据库检索数据、从 message queue server 读取消息以及向其他数据库进行写入)。通过利用跨若干个数据资源来协...
简介 编写单元测试是一种验证行为,更是一种设计行为。同样,它更是一种编写文档的行为。编写单元测试避免了相当数量的反馈循环,尤其是功能验证方面的反馈循环。 虽然由程序开发人员自己写unit tests(单元测试)来测试自己写的程序代码已经行之有年,但是大部分的unit tests都是写在主要的程序代码已经设计好、写好之后。大部分的程序开发人员都有相同的的经验,在主要程序代码写好之后再来加入unit test是一项困难的工作,而且在时间的压力之下unit test通常是第一个被跳过的步骤.本篇文章介绍的是一个.net平台的单元测试工具nunit。什么是unit tests(单元测试)?在程序设计过程中会有许多种测试,单元只是其中的一种,单元测试并不能保证程序是完美无缺的,但是在所有的测试中,单元测试是第一个环节,也是最重要的一个环节。单元测试是一种由程序员自行测试的工作。简单点说,单元测试就是...
研究了一下c#和.net,有很多体会,好的不好的都有。随便谈谈,供大家参考。 先说说它的优点: 1、c#保留了对底层操作系统api的直接调用和指针。肯定是因为看到了java的速度问题以及jni的笨重,所以在设计c#时特意保留了这些c++的特性,避免了重导覆辙,也使得c#可以用来开发系统软件。普通应用都是调用.net的程序集(相当于java的类库,程序集里面都是byte code,不是native code),对于速度敏感,或者平台相关型应用,直接通过特定声明来调用windows api。这样就可以功能,效率和速度都兼顾,解决各种各样的应用层问题和系统层问题(可以用c#来写系统软件了),用一种语言来解决所有场合的大部分问题,所以ms对c#很有信心。 不过实际上完全用c#开发系统软件还是不太可能的,毕竟经过c#的包装以后,比纯种的c还是要稍微慢一些,但是肯定比纯种的c#字节码快太多了。但是当你...
众所周知,c#是microsoft推出的.net语言,只能在.net平台上运行,例如win 9x、me、nt、2000、xp和win ce之类的操作系统。但是,现在却有了一个叫做mono的项目,它的目标就是把.net及其编程语言移植到非windows的平台上。现在,c#是唯一被移植到非windows平台的.net语言。 在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库、编译器/解释器、运行环境。库以类和方法(函数)的形式提供常用的例程,简化大型程序的编写。.net框架也不例外,包含了许多类库。另外,把程序转换成可执行形式以及运行执行文件时,编译器和运行环境是必不可少的。mono软件包包含了.net类库的一部分、一个c#编译器和.net运行环境clr(common language runtime,公共语言运行时环境)。 mono声称支持linux、solaris...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器