Welcome 微信登录

首页 / 软件开发 / .NET编程技术

Paint.Net学习笔记——三、窗体(下)

Paint.Net学习笔记——三、窗体(下)

Paint.Net学习笔记——三、窗体(下)2011-08-20 博客园 懵盛盛近1个月没有更新了,不能再懒了,继续更新PDN的学习笔记!本节将说明PDN中窗体的继承关系,实 现过程等。如上图所示,在PDN中,所有窗体都继承自PdnBaseForm类,该类继承自Form类与ISnapManagerHost接 口,该接口定义了SnapManager的get方法,SnapManager是管理界面窗口“粘靠”效果的,该实现方法之 后文章中...
Paint.Net学习笔记——四、窗体粘靠

Paint.Net学习笔记——四、窗体粘靠

Paint.Net学习笔记——四、窗体粘靠2011-08-20 博客园 懵盛盛本节介绍在Windows应用程序中出现的“控件粘靠”效果的实现。之前一直用Winamp播放音乐,直到现在使用千千静听和酷狗,这几款音频播放软件界面一脉相承,并 都具有“控件粘靠”效果,现在让我们一起来看看PDN里这种效果是如何实现的。在PDN中,实现该效果的是由SnapManager类和SnapObstacle(下称障碍物)抽象类实...
实现linq存储过程返回多条结果集

实现linq存储过程返回多条结果集

实现linq存储过程返回多条结果集2011-08-20 博客园 老马的家曾经被linq存储过程返回多个结果所困扰,今晚加班,问题解决,分享一下思路:linq存储过程默认生成的代码是ISingleResult的,也就是只能返回一条结果集,我们先动手脚,将其改 成IMultipleResults 的.实体类根据不同情况更改.linq存储过程更改前:[Function(Name="dbo.MeterTaskStat")]public ISin...
使用Linq实现强类型反射

使用Linq实现强类型反射

使用Linq实现强类型反射2011-08-20 博客园 紫色阴影今天无意中看到这一篇文章Linq beyond queries: strong-typed reflection,发现Linq除了查询还 可以用于其它方面,这篇文章里面主要介绍了如何通过Linq来实现强类型的反射。通常在使用反射的时候,如果不小心把方法名称写错或者参数类型不匹配,运行时就会抛出异常。一 般来说我们会这样写代码来获得MethodInfo:MethodInfo mi = typeo...
Finalizer线程对Object生命周期的影响

Finalizer线程对Object生命周期的影响

Finalizer线程对Object生命周期的影响2011-08-20 博客园 mountaintai二世这期博客的话题有些沉重,我们来讨论.net对象的生生死死。首先,要给生死下个定义。在这篇博客 中,每当谈及一个对象是死了的对象,指的是用户无法再获得其引用。这个定义是个对用户友好的定义 ,因为有很多时候,对象还残存在托管堆上,CLR依旧可以通过一些手法来获得它(比如RCW缓存中通过 SyncBlk),但是这种“生不如死”的状态不...
谈谈分布式事务之一:SOA需要怎样的事务控制方式

谈谈分布式事务之一:SOA需要怎样的事务控制方式

谈谈分布式事务之一:SOA需要怎样的事务控制方式2011-08-20 博客园 Artech在一个基于SOA架构的分布式系统体系中,服务(Service)成为了基本的功能提供单元,无论与业务 流程无关的基础功能,还是具体的业务逻辑,均实现在相应的服务之中。服务对外提供统一的接口,服 务之间采用标准的通信方式进行交互,各个单一的服务精又有效的组合、编排成为一个有机的整体。在 这样一个分布式系统中某个活动(Activity)的实现往往需要跨越单个服务的边界,如何...
谈谈分布式事务之二:基于DTC的分布式事务管理模型[上篇]

谈谈分布式事务之二:基于DTC的分布式事务管理模型[上篇]

谈谈分布式事务之二:基于DTC的分布式事务管理模型[上篇]2011-08-20 博客园 Artech通过上一篇的介绍,我们知道了SOA真正需要的是一个能够协调服务操作直接(通过服务自身访问的 资源)或者间接(通过被调用服务访问的资源)访问的所有资源的分布式事务管理系统,这是一个复杂 的架构体系。WCF,作为Windows平台下基于SOA的分布式框架,对分布式事务提供全面的支持。不过, WCF并不是另起炉灶,而是充分地利用了Windows现有的事务控制基础架...
谈谈分布式事务之二:基于DTC的分布式事务管理模型[下篇]

谈谈分布式事务之二:基于DTC的分布式事务管理模型[下篇]

谈谈分布式事务之二:基于DTC的分布式事务管理模型[下篇]2011-08-20 博客园 Artech[续上篇] 当基于LTM或者KTM的事务提升到基于DTC的分布式事务后,DTC成为了本机所有事务型资源 管理器的管理者;此外,当一个事务型操作超出了本机的范围,出现了跨机器的调用后,本机的DTC需要 于被调用者所在机器的DTC进行协助。上级对下级(包括本机DTC对本机所有资源管理器,以及上下级DTC )的管理得前提是下级在上级那里登记,即事务登记(Trans...
谈谈分布式事务之三 System.Transactions事务详解[上篇]

谈谈分布式事务之三 System.Transactions事务详解[上篇]

谈谈分布式事务之三 System.Transactions事务详解[上篇]2011-08-20 博客园 Artech在.NET 1.x中,我们基本是通过ADO.NET实现对不同数据库访问的事务。.NET 2.0为了带来了全新的 事务编程模式,由于所有事务组件或者类型均定义在System.Transactions程序集中的 System.Transactions命名空间下,我们直接称基于此的事务为System.Transactions事务。 System.T...
谈谈分布式事务之三: System.Transactions事务详解[下篇]

谈谈分布式事务之三: System.Transactions事务详解[下篇]

谈谈分布式事务之三: System.Transactions事务详解[下篇]2011-08-20 博客园 Artech在前面一篇给出的Transaction的定义中,信息的读者应该看到了一个叫做DepedentClone的方法。该 方法对用于创建基于现有Transaction对象的“依赖事务(DependentTransaction)”。不像可提交事务 是一个独立的事务对象,依赖事务依附于现有的某个事务(可能是可提交事务,也可能是依...
.NET 4.0中的契约式编程

.NET 4.0中的契约式编程

.NET 4.0中的契约式编程2011-08-20 博客园 Angel Lucifer契约式编程不是一门崭新的编程方法论。C/C++ 时代早已有之。Microsoft 在 .NET 4.0 中正式引入 契约式编程库。博主以为契约式编程是一种相当不错的编程思想,每一个开发人员都应该掌握。它不但 可以使开发人员的思维更清晰,而且对于提高程序性能很有帮助。值得一提的是,它对于并行程序设计 也有莫大的益处。我们先看一段很简单的,未使用契约式编程的代码示例。// ....
Linq to Sql:N层应用中的查询(上) : 返回自定义实体

Linq to Sql:N层应用中的查询(上) : 返回自定义实体

Linq to Sql:N层应用中的查询(上) : 返回自定义实体2011-08-20 博客园 Silent Void如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时 候,我们使用var来定义L2S查询,让IDE自动推断变量的具体类型 (IQueryable<匿名类型>),并 提供友好的智能提示;而且可以充分应用L2S的延迟加载特性,来进行动态查询。但如果我们希望将业务 逻辑放...
Linq to Sql:N层应用中的查询(下): 根据条件进行动态查询

Linq to Sql:N层应用中的查询(下): 根据条件进行动态查询

Linq to Sql:N层应用中的查询(下): 根据条件进行动态查询2011-08-20 博客园 Silent Void如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时 候,我们使用var来定义L2S查询,让编译器自动推断变量的具体类型 (IQueryable<匿名类型>), 并提供友好的智能提示;而且可以充分应用L2S的延迟加载特性,来进行动态查询。但如果我们希望将业 务逻...
WPF应用程序中的发声功能

WPF应用程序中的发声功能

WPF应用程序中的发声功能2011-08-20 MSDN Charles Petzold几个星期以前,我坐在一辆崭新的丰田普锐斯汽车中,听着租车公司的销售代理讲解着仪表盘上遍布 的陌生控制开关和指示器。“哇,”我想,“虽然技术和车一样都那么陈旧了,制造商仍继续美化着用 户界面”。从最广义的层面上说,用户界面是人机交互的地方。虽然这一概念与技术本身一样历史悠久,但用户 界面作为一种艺术形式大放异彩倚仗的却是个人...
多语言编程人员 - 借助STM.NET处理ACID事务

多语言编程人员 - 借助STM.NET处理ACID事务

多语言编程人员 - 借助STM.NET处理ACID事务2011-08-20 MSDN Ted Neward本专栏专门介绍编程语言,但您会发现有时语言理念不需要直接进行修改就可以转换成其他语言,这 一点很有意思。Microsoft Research 语言 C-Omega 就是这样的一个例子,该语言有时简写为 Cw,因为希腊语 Omega 符号看起来很像 US 键盘布局上的小写字母 w。C-Omega 除引入了许多数据统一和代码统一概念 (可最终作为 LINQ...
查看PE文件内容的小工具——CliPeViewer

查看PE文件内容的小工具——CliPeViewer

查看PE文件内容的小工具——CliPeViewer2011-08-29 博客园 Anders LiuCliPeViewer是老刘编写的一个WinForm小程序,能够用来查看托管PE文件中的 各种结构。目前有很多能够查看PE信息的程序,支持.NET的也有。不过, CliPeViewer与他们的最大区别在于,这个小程序更在意原汁原味地暴露一个PE文 件中的内容,尤其是对于文件中的每个结构、每个字段,除了显示了它的值之外 ,还显示出了它在PE文件中的偏移量和原始...
ReadOnlyDictionary之应用场景

ReadOnlyDictionary之应用场景

ReadOnlyDictionary之应用场景2011-08-29 博客园 Anders Liu前两天发布了《隐藏接口实现 及 ReadOnlyDictionary》一文,有不少朋友提 出疑问。其中一个主要问题就是,这样做真的可以实现“只读”吗?如果还有其 他变量引用了ReadOnlyDictionary所包装的普通字典,依然可以通过另外这个变 量来修改字典中的内容。有朋友甚至提到了,可以在创建ReadOnlyDictionary时...
<< 61 62 63 64 65 66 67 68 69 70 >>