Google [站内搜索]

预览模式: 普通 | 列表

关于接口多态性一点说明

在讲述接口多态性时我们常看到类似的例子:

//接口
interface IAction
{

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3849

C#格式化输出再讨论

先来定义一个类MyFormat,它实现了ICustomFormatter和IFormatProvider接口,作用是将字符串转化为大写:

public class MyFormat : ICustomFormatter, IFormatProvider
{
    /// <summary>

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4538

C#格式化输出

曾经一度为格式化输出而困惑,看着满天遍野的结构,都不敢去轻易触动。只能使用最安全,但是 低能的object.ToString()方法。终于忍受不了这种窘困的处境,下力气研究一番,也算是有点心得,希望和大家交流一下。

鉴于该格式化输出的结构过于繁琐,我不希望文章陷入条款的解释,于是,我从一个实际问题入手,一步一步地介绍格式化输出的概念,三个接口的意义,以及使用接口的一种模式(Pattern)。

1. PhoneNumber 类

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5087
方法1:在SQL查询语句中拼接字段

using (SqlConnection conn = new SqlConnection("server=(local);database=Northwind;user id=sa;password=sa;min pool size=4;max pool size=100;Connection Lifetime=30;"))
{
    SqlDataAdapter adapter1 = new SqlDataAdapter("Select Top 10 ProductId,ProductName+','+convert(nvarchar,UnitPrice) Text FROM Products", conn);

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4500

设置VS2008生成类库项目时不生成pdb文件

VS2008默认生成类库项目时除了生成dll文件外,还会生成一个同名的pdb文件,它是一个程序数据库文件,保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。通过设置,我们可以让VS2008不生成pdb文件。设置步骤:打开类库项目属性页面→切换到生成选项卡→点击高级按钮→将调试信息一项设置为none。

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 8537

Effective C# 原则5:始终提供ToString()

在.Net世界里,用得最多的方法之一就是System.Object.ToStrying()了。你应该为你所有的客户写一个"通情达理"的类(译注:这里是指这个类应该对用户友好)。要么,你就迫使所用类的用户,去使用类的属性并添加一些合理的易读的说明。这个以字符串形式存在,关于你设计的类的说明,可以很容易的向你的用户显示一些关于对象的信息到:Windows Form里,Web Form里,控制台输出。这些字符说明可以用于调试。你写的任何一种类型,都应该合理的重写这个方法。当你设计更多的复杂的类型时,你应该实现应变能力更强的IFormattable.ToString(). 承认这个:如果你不重写(override)这个常规的方法,或者只是写一个很糟糕的,你的客户将不得不为你修正它。

System.Object版的ToString()方法只返回类型的名字。这并没有太多有用的信息:"Rect","Point","Size"并不会如你所想的那样显示给你的用户。但那只是在你没有为你的类重写ToString()方法时得到的。你只用为你的类写一次,但你的客户却会使用很多次。当你设计一个类时,多添加一点小小的工作,就可以在你或者是其他人每次使用时得到回报。

让我们来考虑一个简单的需求:重写System.Object.ToString()方法。你所设计的每一个类型都应该重写ToString()方法,用来为你的类型提供一些最常用的文字说明。考虑这个Customer类以及它的三个成员(fields)(译注:一般情况,类里的fields译为成员,这是面向对象设计时的概念,而在与数据库相关的地方,则是指字段):

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3542

合并两个DataTable

原理:使用DataTable实例的Load方法将原有的DataTable实例中的数据加载到新的DataTable实例中完成合并。

using (SqlConnection conn = new SqlConnection("server=(local);database=Northwind;user id=sa;password=sa;min pool size=4;max pool size=100;Connection Lifetime=30;"))
{
    //创建两个DataTable

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4417

[私密日志] 私密日志

该日志是私密日志,只有博主或发布者可以查看!
分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1661

项目设计时不必所有东西设置得非常细

案例:在一个项目中有多种业务类型,业务的各项操作都需记录在日志文件中。开始是每种业务对应一个日志存放目录、一个记录日志的方法,日志文件按天保存。随着业务种类的增多,配置各业务日志存放目录、编写对应日志记录方法就成了一项烦琐的工作。分析下看,将全部业务的操作日志按天放在同一日志文件中对整体并没有多大的影响,只需在每条日志记录中标明下所属业务类型即可,这样工作就变得简单多了。

在项目设计的时候,有些东西我们会犹豫要不要对他进行细分,标准是如果不细分对整个项目并没有太大的影响,那么就可不细分,否则就应细分。
分类:其他 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3799

VSS2005添加文件夹的两种方法

VSS2005中可以使用"Add Files..."将本地文件添加到项目中,但VSS2005没有提供将文件夹添加到项目的方法,如要添加文件夹可使用下边两种方法:

a. 在资源管理器中将文件和文件夹拖到VSS2005项目中;
b. 在VS2008中将项目绑定到VSS2005项目再签入;

查看更多...

分类:服务器 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5528