学学习网 手机版

学学习网

学习路径: 学习首页 > 应用开发 > C# >

第十五章 .NET编程经验分享(2)

设置字体:
----------------------------------

      MyExplicitClass would work only with the interface: 
      //The following line would not work. 
      MyExplicitClass myObject = new MyExplicitClass(); 
      myObject.MyMethod(""); 
      //This will work 
      IMyInterface myObject = new MyExplicitClass(); 
      myObject.MyMethod(""); 
       
      </CODE>
 
4、DataTable.HasRows
 
它不属于任何框架,但通过扩展方法很容易模仿这样一个方法,它不会消除检查数据表对象是否为空或行数的原始代码,但它可以简化应用程序的代码,下面是一个代码片段:
 
    <CODE>
    public static bool HasRows(this DataTable dataTable) 
                { 
    return dataTable.IsNull() ? false : (dataTable.Rows.Count > 0); 
                } 
        
        public static bool IsNull(this object o) 
                { 
                     return (o == null); 
                } 
        
            To use: 
        If(dataTable.HasRows()) 
        { 
          … 
        } 
             </CODE>
 
其它规则仍然和扩展方法相同。
 
 
5、在类中编写“Override”方法的快速方法
 
在代码编辑器中输入override,按空格键,你将会看到一串基于类的可覆写方法。
 
6、强大的Path.Combine
 
Path.Combine凭借强大的功能消除了尾斜线和路径相关的问题,简单易用,让路径字符串更连续,它包含一个字符串路径参数.
 
你不用担心路径中的有效分隔符或空格,完全不用你处理路径合并时的字符串连接。
 
7、使用扩展的配置文件
 
感谢app.config(针对应用程序)和web.config配置文件,使我们可以处理复杂的应用程序级设置,但是我们仍然要处理不同环境设置面临的各种问题,这里指的是开发、测试和生产环境的设置。
 
我们不得不恢复到一个特定的环境以便进行分析、测试或调式部分代码,在这个过程中,每一次设置和调整都很乏味。
 
例如,每一次恢复可能都要重新设置ConnectionStrings(连接字符串),现在你可以通过外部文件引用使用ConfigSource属性来解决这个问题。例如,下面的代码引用了一个deveploment.config外部配置文件。               
 
    <connectionStrings configSource="configs\ development.config" />
 
你还可以在AppSettings设置小节使用这个有用的属性。
 
8、ToTitleCase
 
这个方法可以将每个单词的首字母转换为大写,剩下的字母转换为小写,例如,“look below for a sample”将被转换为“Look Below For A Sample”,TextInfo是System.Globalization命名空间的一部分,但它存在以下问题:
 
当前的文化
 
如果输入字符串全部是大写
 
下面的扩展方法同时考虑了这两个缺陷。
 
    <CODE>
    public static string ToTitleCase(this string inputString) 
                   { 
                      return Thread.CurrentThread.CurrentCulture.TextInfo. 
----------------------------------
课程列表
重点难点
赞助链接