
C#
文章平均质量分 83
ojekleen
I am here ,just for you.
展开
-
Galbanum之08总结
或许是项目的不可取性,也或许是个人的文字功能不佳,也或许是其他的或许.项目至今仍是一个人在做.但有幸的是,优快云每一篇都有在首页推荐,在些感谢优快云.在使用.net开发中,大部分都使用着自己公司的框架。并不像java那么一致,大凡使用着hiberante+spring。在.net界貌似这两样并不是非常火,很多人更习惯于使用适合于自己的项目的框架。我也曾使用过许多框架,心中也一直育浴着适合于自己原创 2008-12-23 14:10:00 · 1103 阅读 · 0 评论 -
Win32API的使用实例WndProc
对于.Net的界面编程,特别是对原有的系统控件的重绘,经常会遇到OnPaint不能使用的问题,而事实上,OnPaint对于很多的系统控件都不能使用。在OnPaint不能使用的时候,就要使用WndProc方法了。这是一个捕捉Windows消息的方法,针对不同的Windows消息做不同的反应,如重绘消息时,重新画控件,就可以修改控件的外观。效果图下面的图形,就是当ComboBox是Focused时转载 2008-04-30 11:37:00 · 2127 阅读 · 0 评论 -
Spring.Net 框架(二)
IObjectFactory是初始化、配置及管理对象的实际容器(按:它是所有容器的父接口)。对象间通常会相互协作,我们也可以说它们相互间具有依赖性。这些依赖性通过IObjectFactory的配置数据反映出来。(但某些依赖性从配置数据中是看不到的,比如运行时对象之间的方法调用。)Spring.Objects.Factory.IObjectFactory接口有多个实现类。最常用的是 Spring.O转载 2008-01-16 09:10:00 · 4284 阅读 · 0 评论 -
Spring.Net 框架(三)
容器所管理的对象由对象定义来配置,一个对象定义包含以下信息: 对象类型,即所定义对象的实际类型。 对象行为,用来规定对象在IoC容器中的行为(例如,是否布署为singleton,自动装配的模式,依赖检查的模式,初始化和销毁方法等)。 对象创建后要设置的属性值。例如,一个线程池管理对象的可用线程数,或者用来创建线程池的类型信息,* 对象所需要的其它对象,例如一个转载 2008-01-16 09:15:00 · 2087 阅读 · 0 评论 -
Spring.Net 框架(一)
Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为基础,将Spring.Java的核心概念与思想移植到了.NET平台上。企业级应用一般由多个物理层组成,每个物理层也经常划分为若干功能层。不同层次之间需要相互协转载 2008-01-16 09:03:00 · 6259 阅读 · 0 评论 -
.NET Remoting程序开发入门篇(八)
然后,注册该对象。注意这里不用RemotingConfiguration.RegisterWellKnownServiceType(),而是使用RemotingServices.Marshal(): ObjRef objrefWellKnown = RemotingServices.Marshal(obj, "ServiceMes转载 2008-01-05 09:56:00 · 1166 阅读 · 0 评论 -
.NET Remoting程序开发入门篇(七)
客户端: public class ServerObject:MarshalByRefObject{ public ServerObj() { throw new System.NotImplementedException(); } public Person GetPersonInfo(string name,string s转载 2008-01-05 09:54:00 · 914 阅读 · 0 评论 -
.NET Remoting程序开发入门篇(六)
我们在服务器端的远程对象中加上抽象工厂的接口和实现类: public interface IServerObject{ Person GetPersonInfo(string name,string sex,int age);}public interface IServerObjFactory{ IServerObject Cr转载 2008-01-05 09:49:00 · 829 阅读 · 0 评论 -
.NET Remoting程序开发入门篇(五)
五、Remoting基础的补充 通过上面的描述,基本上已经完成了一个最简单的Remoting程序。这是一个标准的创建Remoting程序的方法,但在实际开发过程中,我们遇到的情况也许千奇百怪,如果只掌握一种所谓的“标准”,就妄想可以“一招鲜、吃遍天”,是不可能的。 1、注册多个通道 在Remoting中,允许同时创建多个通道,即根据不同的端口创建不同的通道。但是,Remoting要求通道的转载 2008-01-05 09:47:00 · 831 阅读 · 0 评论 -
.NET Remoting程序开发入门篇(四)
转载 2008-01-05 09:42:00 · 910 阅读 · 0 评论 -
.NET Remoting程序开发入门篇(三)
三、服务器端 根据第一部分所述,根据激活模式的不同,通道类型的不同服务器端的实现方式也有所不同。大体上说,服务器端应分为三步: 1、注册通道 要跨越应用程序域进行通信,必须实现通道。如前所述,Remoting提供了IChannel接口,分别包含TcpChannel和HttpChannel两种类型的通道。这两种类型除了性能和序列化数据的格式不同外,实现的方式完全一致,因此下面我们就以TcpC转载 2008-01-05 09:37:00 · 989 阅读 · 0 评论 -
.NET Remoting程序开发入门篇(二)
二、远程对象的定义 前面讲到,客户端在获取服务器端对象时,并不是获得实际的服务端对象,而是获得它的引用。因此在Remoting中,对于远程对象有一些必须的定义规范要遵循。 由于Remoting传递的对象是以引用的方式,因此所传递的远程对象类必须继承MarshalByRefObject。MSDN对MarshalByRefObject的说明是:MarshalByRefObject 是那些通过使用转载 2008-01-05 09:30:00 · 1024 阅读 · 0 评论 -
DotNet(C#)自定义控件之界面编程(一)
写在前面:在填充一个区域的颜色,就少不了Brush,微软MSDN对Brush的解释是:GDI+ Brush 对象用于填充闭合形状的内部。GDI+ 定义多种填充样式:纯色、阴影图案、图像纹理和颜色渐变。也就是在Fill的方法中使用到的,而因为填充的Brush可以是单色或多色,这使到控件十分美观,特别是LinearGradientBrush的使用使控件增色不少。它是一个过渡色的意思。纯色(单色)填转载 2008-04-30 11:00:00 · 1950 阅读 · 0 评论 -
Asp.Net 上传图片并生成高清晰缩略图
在asp.net中,上传图片功能或者是常用的,生成缩略图也是常用的。baidu或者google,c#的方法也是很多的,但是一用却发现缩略图不清晰啊,缩略图片太大之类的事情,下面是我在处理图片上的代码,效果不错,所以拿出来分享,(效果能达到一些绘图软件的效果)代码如下: /// /// asp.net上传图片并生成缩略图 /// /// Htm原创 2008-08-01 15:59:00 · 7479 阅读 · 6 评论 -
Galbanum之Logger(二)
在上面代码使用的时候还必须配置你的app.config或者是web.config,还要自定义一个OrmStyle继承ILoggerStyle接口我是控制台程序,配置是的app.config配置如下:"1.0" encoding="utf-8" ?> "Galbanum"> "LoggerStyle" type="Logger.LoggerStyleHandler,Logger"原创 2008-12-19 13:14:00 · 1185 阅读 · 0 评论 -
Galbanum之Logger(一)
一直在用log4net,最近也大致看了下里面的代码,总感觉配置文件复杂和格式太单一,于是最近自己封装了这个项目.功能当然比前面的相对单一,但是可以自定义样式和通过配置文件来设置Logger保存地址,现有Logger文件命名方法是DateTime.Now.Date.ToString("yyyyMMdd")+".log";该项目主要有3个接口,ILogger实现记录日志,ILoggerStyle自定原创 2008-12-19 12:54:00 · 1054 阅读 · 0 评论 -
也谈IConfigurationSectionHandler接口
IConfigurationSectionHandler接口也是大家讨论的比较多的接口之一,所以我在这也只能称为追追前人的尾巴,帮名为也谈.实现该接口的用途或许大家都有些了解,主要是在配置文件中自点定配置节点.在web中有web.config,在win或者控制台程序中有app.config.或者大家都使用过很多开源的框架,特别是一些IOC的项目,如:spring.net之类的.当你使用他们的时候,原创 2008-12-17 16:12:00 · 1957 阅读 · 0 评论 -
Galbanum之Orm(三)
汗一把,第二次写这个三了,希望不会再发表失败的事情了。谢谢。这次主要是讲一讲通过实体来操作数据库的方法,这也是Orm的核心了,下面代码演示添加,更新,删除,查询等操作实体类参考一里面的Employee类,添加方法为IDataBase的Save(IEntity entity);,例子如下: private void Insert() { Employee emp=new Empl原创 2008-12-10 20:16:00 · 1472 阅读 · 0 评论 -
Galbanum之Cache(一)
asp.net提供缓存机制,但是很多的winForm和类库中也同样希望能使用上缓存,GalBanum.Cache正是提供这样的功能,主要有ICache接口,HashTableCache类继承ICache接口,CacheFactory工厂生产ICache,CacheEntity保存缓存的value和key,整体是通过静态Dictionary来保CacheEntity,然后再起子线程定时循环临控缓存是原创 2008-12-11 15:39:00 · 1183 阅读 · 0 评论 -
Galbanum 之Orm(四)
首先呢,来看一下Orm项目通过VS导出的类图,图片比较大,可以下载本地看,下面主要通过文字说说设计思想,1。基于Attribute来映射表结构,主是有TableAttribute和ColumnAttribute,在TableAttribute拥有一个ColumAttribute的List集合,第一次TableFactory通过反射实体的类特性获取TableAttribute并同时通过反射实体的属性原创 2008-12-10 20:34:00 · 1103 阅读 · 0 评论 -
Galbanum 之Orm(一)
Galbanum为小巫主发开源项目,其中思想大凡是我个人的,不足之处凡请指出,联系方式:ojek@163.com首个Orm基本完成,因为个人能力和时候上的限制,源码注释主要为接口和一些虚类为主。 Orm.dll文件下载地址:http://download.youkuaiyun.com/source/858438Orm源程序下载地址:http://download.youkuaiyun.com/source/原创 2008-12-10 14:02:00 · 1161 阅读 · 0 评论 -
也谈IDisposable接口(一)
IDisposable接口在.net里算是比较简单的接口,也是讨论的比较多的接口之一.下文总结了些自己的个人看法(如有不对之处,敬请拍砖)并引用了部分MSDN和其他博客的文字(如有侵权,请联系我,如若转载,请注明出处,谢谢。)首先来看MSDN中关于这个接口的说明:[ComVisible(true)]public interface IDisposable{ // Methods原创 2008-12-02 13:41:00 · 2611 阅读 · 5 评论 -
访问IIS元数据库失败
装了VS2005再装IIS,结果出了些小问题访问IIS元数据库失败思考可能是次序出了问题,解决1、打开CMD,进入 C:/WINDOWS/Microsoft.NET/Framework/v2.0.507272、输入 aspnet_regiis.exe -i稍等片刻,注册成功就解决问题了。 接着还会出现“未能创建 Mutex”的问题 解决方法:1、先关闭你的VS20转载 2008-06-24 16:26:00 · 7628 阅读 · 4 评论 -
C# 繁体,简体 互转
在.netframework2.0 实现简体和繁体字的相互转换.首先对Miscrosoft.VisualBasic类的引用.using Microsoft.VisualBasic;public static string Traditional2Simplified(string str) { //繁体转简体 r转载 2008-09-04 11:14:00 · 1629 阅读 · 0 评论 -
C#关键字之yield
说起yield,不得不先说说迭代器。迭代器是C# 2.0中的新功能,有了它,我们就可以在自己的类或者结构中支持foreach迭代而不必实现整个IEnumerable接口,我们只需要提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,它将自动生成IEnumerable接口的Current、MoveNext和Dispose方法。而迭代器代码使用yield return语句依次返回每转载 2008-09-04 10:28:00 · 6025 阅读 · 5 评论 -
.NET Remoting程序开发入门篇(一)
一、Remoting基础 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft? .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系转载 2008-01-04 09:12:00 · 977 阅读 · 0 评论 -
使用NUnit在.Net编程中进行单元测试
引言:举一个可能会发生在你身边的事件将更能贴近实际,幸好我们现在就有一件在程序员看来非常普通的任务:你今天第一天上班,你的项目经理拿给你一叠不算厚的文档,告诉你今天的任务是按照文档中的要求编写一个.Net类,可能因为任务并不复杂,所以他看上去非常的随意。今天能否很好的完成任务对你来说非常特殊,你拿过来后快速略过了前面大段的项目介绍,因为你知道那些对你并不重要,印象中好象是一个关于售转载 2007-12-07 11:53:00 · 674 阅读 · 0 评论 -
C# 排序算法的实现
一、冒泡排序(bubble)using system; namespace bubblesorter...{public class bubblesorter...{ public void sort(int[] list) ...{ int i,j,temp; bool done=false; j=1; while((jlist.length)&&(!do转载 2007-09-24 17:05:00 · 860 阅读 · 0 评论 -
c# 设置属性的样式(选择文件)
自定义控件的属性样式要设置选择文件样式和选择颜色下拉相似.实现的特性为[UrlProperty("*.aspx")]//文件类型选择[Editor("System.Web.UI.Design.UrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof原创 2007-09-21 17:31:00 · 1555 阅读 · 0 评论 -
C# 特性(Attribute)(二)
AttributeUsage类是另外一个预定义特性类,它帮助我们控制我们自己的定制特性的使用。它描述了一个定制特性如和被使用。 AttributeUsage有三个属性,我们可以把它放置在定制属性前面。第一个属性是: ValidOn 通过这个属性,我们能够定义定制特性应该在何种程序实体前放置。一个属性可以被放置的所有程序实体在AttributeTargets enumerator转载 2007-09-18 14:02:00 · 5149 阅读 · 3 评论 -
C# 特性(Attribute)(一)
特性(Attributes)是一种崭新的声明性信息。我们不仅可以通过特性来定义设计层面的信息(例如help file, URL for documentation)以及运行时(run-time)信息(例如使XML与class相联系),而且我们还可以利用特性建立自描述(self- describing)组件。在这篇教程中,我们将会看到如何建立和添加特性到各种程序实体以及如何在运行时环境中获取特性信转载 2007-09-18 14:00:00 · 14652 阅读 · 5 评论 -
c# 反射(三)
6、如何获取方法以及动态调用方法 上面是一个简单的类,包含一个有参数的构造器,一个GetValue的方法,一个Value属性,我们可以通过方法的名称来得到方法并且调用之,如:属性与方法的调用大同小异,大家也可以参考MSDN//获取类型信息Type t = Type.GetType("TestSpace.TestClass");//构造器的参数objec转载 2007-09-18 13:58:00 · 1925 阅读 · 0 评论 -
c# 反射(二)
3、运行期得到类型信息有什么用 有人也许疑问,既然在开发时就能够写好代码,干嘛还放到运行期去做,不光繁琐,而且效率也受影响。这就是个见仁见智的问题了,就跟早绑定和晚绑定一样,应用到不同的场合。有的人反对晚绑定,理由是损耗效率,但是很多人在享受虚函数带来的好处的时侯还没有意识到他已经用上了晚绑定。这个问题说开去,不是三言两语能讲清楚的,所以就点到为止了。 我的看法是,晚绑转载 2007-09-18 13:57:00 · 2110 阅读 · 0 评论 -
c# 反射(一)
1、什么是反射 Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如: Assembly类可以获得正在运行的装配件信息,也可以转载 2007-09-18 13:56:00 · 2124 阅读 · 1 评论 -
c# 反射使用实例
1 创建用于反射使用的DLL新建一个C#类库项目,拷贝源代码如下,编译生成DLL(假如DLL的文件名是TestReflect.dll) using System; namespace Webtest ...{ /**//**//**//// /// ReflectTest 的摘要说明。 /// public class ReflectTest ...{ publi转载 2007-09-18 13:54:00 · 1729 阅读 · 0 评论 -
c#类的修饰符
C#使用关键字class来定义类。其基本结构如下: class myclass { //class members }定义这样一个类后,就可以在能访问该定义的工程的其他地方对该类进行实例化。 默认情况下,类声明为内部的,即只有当前工程中的代码才能访问它。 可以用internal访问修饰符关键字显式指定,但这不是必须的,类在定义时默认为此类型的类。如果将类指定为公共的,应可以由其他工转载 2007-09-12 16:18:00 · 1909 阅读 · 0 评论 -
C#中HashTable的用法
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的转载 2007-09-17 17:18:00 · 1167 阅读 · 0 评论 -
const的理解和用法
const在C中的用法很灵活(相信C++中也一样),个人感觉对之既爱又恨,有时候感觉const很好用,同时又经常会因为它的优点而犯错,犯错的原因除了粗心之外,另一个更重要的,就是以前对const理解不到位。于是今天自己写成一篇小总结。如果是初学者,建议好好看一下,相信帮助比较大;如果是高手,请不吝赐教! 上面写了一段废话,就算是小序吧:)接下来就是正文; 一、关于con转载 2007-09-10 10:22:00 · 814 阅读 · 1 评论 -
c# 设置属性的样式(下拉列表)
每当自定义控件或者重写系统自带的控件的时候,总要定义一些属性.属性的定义方法: private string message ; public string Message ...{ get ...{ return message; } set原创 2007-09-21 17:20:00 · 6436 阅读 · 0 评论 -
c# 设置属性的样式(颜色下拉Color)
属性样式设为颜色下拉: 其实只要在定义属性上实现TypeConverter特性就可以了并定义为Color类型.下面的web控件的下列颜色选取属性的样式 private Color _myColor; [TypeConverter(typeof(WebColorConverter))] [DefaultValue(typeof(Colo原创 2007-09-21 17:26:00 · 4202 阅读 · 1 评论