代码改变世界

随笔档案-2006年01月

Enterprise Library学习所得(一):总体概述

2006-01-25 10:55 by 努力学习的小熊, 1686 阅读, 收藏, 编辑
摘要: 每一个设计模式都是针对于某一个问题点的最佳的解决方法。 Patterns:基于.NET提出的对反复出现的问题提供原子级的解决方案。 Application Blocks:面向公共服务的字系统级的应用指南。 Reference Architectures:(包括一个Smart Client的应用架构)针对客户向通场景的系统级架构指南。 Enterprise Library是一个可重用的程序块库,用于... 阅读全文

C#学习笔记(十):阴影和深度复制

2006-01-23 14:05 by 努力学习的小熊, 2585 阅读, 收藏, 编辑
摘要: 从一个变量到另一个变量按值复制对象,而不是按引用复制对象(即以与结构相同的方式复制)可能非常复杂。因为一个对象可能包含许多对象的引用,例如字段、成员等,这将涉及许多烦人的处理操作。把每个成员从一个对象复制到另一个对象中可能不会成功,因为其中一些成员可能是引用类型。 按照成员复制简单的对象可以通过派生于System.Object的MemberwiseClone()方法来完成,这是一个受保护的方法,但... 阅读全文

C#学习笔记(九):运算符重载

2006-01-18 22:58 by 努力学习的小熊, 2925 阅读, 收藏, 编辑
摘要: 首先看看运算符重载的基本语法。 要重载运算符,可以给类添加运算符类型成员(它们必须是static)。 我们先看一个简单的类: public class AddClass1 { public int val; } 这仅是int值的一个包装器(wrapper),但可以用于说明规则。 对于这个类下面的代码不能编译: AddCla... 阅读全文

C#与SQL Server之间的数据类型对比及在VS2003中空值传递的解决办法

2006-01-17 17:00 by 努力学习的小熊, 1410 阅读, 收藏, 编辑
摘要: 这是我在开发多层体系结构时遇到的问题,由于VS.NET尚不支持各种数据类型的空值即null,放入实体类中在各个层之间作为参数传递,所以经查询参考SQL Server 2000的联机丛书和.NET的MSDN Library以及在编写代码生成时结合CodeSmith的数据类型,总结找出如下的类型对照解决方案,将其放在一个公用类或公用方法工程的类中使用即可,遇到各种数据类型的空值即可这样进行处理。 ... 阅读全文

C#学习笔记(八):集合

2006-01-16 10:54 by 努力学习的小熊, 1543 阅读, 收藏, 编辑
摘要: 数组最大的限制就是一旦创建好数组,它们的大小就是固定的,不能在现有的数组末尾添加新项目,除非创建一个新的数组。 C#中的数组是作为System.Array类的实例来执行的,它们只是集合类中的一种。集合类一般用于处理对象列表,其功能要比简单数组要多,这些功能是通过执行System.Collections名称空间中的接口而实现的,因此集合的语法已经标准化了。 在System.Collections名称... 阅读全文

以前编写LIKE谓词被忽略的使用方法

2006-01-14 23:50 by 努力学习的小熊, 990 阅读, 收藏, 编辑
摘要: 我们知道在使用SQL语句编写查询时会用到SELECT语句。它的基本结构如下: SELECT ... ... FROM ... ... WHERE ... ... ORDER BY ... ... 在使用WHERE条件子句时我们知道可以通过LIKE关键字进行模糊查询,而且我们也知道可以使用通配符实现这个。我们通常知道的通配符有下划线_和百分号%。其实我们还有其它的查询匹配可用,只是我们不经常使用而忽... 阅读全文

C#学习笔记(七):接口的执行

2006-01-13 10:38 by 努力学习的小熊, 1161 阅读, 收藏, 编辑
摘要: 一、接口的基本概念 接口的定义方式与类比较相似。 interface IMyInterface { //interface members } 接口成员的定义与类成员的定义之间的区别: 1.不允许使用访问修饰符(public,private,protected或internal),所有的接口成员都是公共的。 2.接口成员不能包含代码体。 3.接口不能定义域成... 阅读全文

CodeSmith应用(四):实现选择路径对话框

2006-01-12 11:24 by 努力学习的小熊, 4548 阅读, 收藏, 编辑
摘要: 首先我们要添加命名空间。然后我们在模板中自定义一个属性,用来表示要存储的路径。其中我们使用了this.CodeTemplateInfo.DirectoryName得到当前模版所在路径作为默认路径。 private string _outputDirectory = String.Empty;[Editor(typeof(System.Windows.Forms.Design.FolderName... 阅读全文

C#学习笔记(六):类成员的其他议题

2006-01-12 10:56 by 努力学习的小熊, 1047 阅读, 收藏, 编辑
摘要: 一、隐藏基类的方法 当从基类继承一个(非抽象的)成员时,也就继承了其执行代码。如果继承的成员是虚拟的virtual,就可以用override关键字重写(重载)这段代码。无论继承的成员是否是虚拟的,我们都可以隐藏这些执行代码。例如: public class MyBaseClass { public void DoSomething() { ... 阅读全文

C#学习笔记(五):类成员的定义

2006-01-10 13:30 by 努力学习的小熊, 1074 阅读, 收藏, 编辑
摘要: 一、定义域 标准的声明格式: class MyClass { public int MyInt; } 这种声明格式的成员是可以对其进行初始化的。但是它是Myclass的公有成员,可在实例化Myclass的对象后进行初始化或修改操作。 MyClass myClass = new MyClass(); myClas... 阅读全文

C#学习笔记(四):结构类型

2006-01-09 11:05 by 努力学习的小熊, 1292 阅读, 收藏, 编辑
摘要: 我们首先看一个例子: using System; namespace Ch09Ex03{ class MyClass { public int val; } struct myStruct { public int val; } /// /// Class1 的摘要说明。 /// ... 阅读全文

C#学习笔记(三):抽象类和接口

2006-01-09 10:59 by 努力学习的小熊, 1774 阅读, 收藏, 编辑
摘要: 抽象类和接口的相似处: 抽象类和接口都包含可以由派生类继承的成员。接口和抽象类都不能直接实例化,但可以声明它们的变量。如果这样做,就可以使用多态性把继承这两种类型的对象指定给它们的变量。接着通过这些变量来使用这些类型的成员,但不能直接访问派生对象的其它成员。 抽象类和接口的区别: 派生类只能继承一个基类,即只能直接继承一个抽象类(但可以用一个继承链包含多个抽象类)。相反,类可以使用任意多个接口... 阅读全文

C#学习笔记(二):构造函数的执行序列

2006-01-09 08:34 by 努力学习的小熊, 2144 阅读, 收藏, 编辑
摘要: 任何构造函数都可以进行配置,以便在执行自己的代码前调用其它构造函数。 我们首先看看在创建类的实例时会发生什么情况。为了实例化派生的类,必须实例化它的基类。而要实例化这个基类,又必须实例化这个基类的基类,这样一直实例化到System.Object为止。结果是无论使用什么构造函数实例化一个类,总是要先调用System.Object.Object()。 如果对一个类使用非默认的构造函数,默认的情况是在其... 阅读全文

C#学习笔记(一):类

2006-01-06 17:16 by 努力学习的小熊, 1876 阅读, 收藏, 编辑
摘要: C#使用关键字class来定义类。其基本结构如下: class myclass { //class members } 定义这样一个类后,就可以在能访问该定义的工程的其他地方对该类进行实例化。 默认情况下,类声明为内部的,即只有当前工程中的代码才能访问它。 可以用internal访问修饰符关键字显式指定,但这不是必须的,类在定义时默认为此类型的类。 ... 阅读全文

C#中XML的基本应用

2006-01-05 16:23 by 努力学习的小熊, 2251 阅读, 收藏, 编辑
摘要: 在学习之前,我们通过一个Hello World的例子检查自己的机器是否已经MSXML3。 第一步:建立要输入XML文档hello.xml。 Hello, world! 这是一个很简单XML文档,只包含一个节点的XML结构树。 第二步:建立XSLT文档hello.xsl。提示:默认的XSLT文件的后缀名为.xsl。 ... 阅读全文

组件访问被拒绝的解决方案

2006-01-04 16:04 by 努力学习的小熊, 1368 阅读, 收藏, 编辑
摘要: 去年11月份在项目中遇到了一个奇怪的现象,在项目添加引用的时候添加完自定义的组件(dll文件),在编译运行程序的时候出现了这样的情况,编译可以通过,但是却在运行时弹出黄页,显示dll不能被访问,这时我发现在引用中有一个以前使用的dll,但是现在已经不使用了,我开始猜想是这个问题,将其删除后运行正常,可是再次调试又不能正常运行,出现相同的错误。所以开始觉得不是程序造成的问题。开始上... 阅读全文
点击右上角即可分享
微信分享提示