c#扩展方法奇思妙用高级篇四:对扩展进行分组管理
2010-09-30 20:56:53 来源:WEB开发网代码仅是为了说明怎么分组,没有实现,具体实现请参见本系列前面的文章。为了节省空间,很多代码都写成了一行。
前面提到的第二条缺点,我们改进后,方式二的显示效果如下:
Equals、GetHashCode、ToString 实在去不了,哪位朋友有好办法分享一下吧!不过这次把扩展方法的标志加上。实现比方式一麻烦一下:
1 public class ChineseString
2 {
3 private string s;
4 public ChineseString(string s) { this.s = s; }
5 public string GetValue() { return s; }
6 }
7
8 public static class CheseStringExtension
9 {
10 public static ChineseString AsChineseString(this string s) { return new ChineseString(s); }
11
12 public static string ToSBC(this ChineseString cs)
13 {
14 string s = cs.GetValue();//从ChineseString取出原string
15 char[] c = s.ToCharArray();
16 for (int i = 0; i < c.Length; i++)
17 {
18 if (c[i] == 32) { c[i] = (char)12288; continue; }
19 if (c[i] < 127) c[i] = (char)(c[i] + 65248);
20 }
21 return new string(c);
22 }
23 public static string ToDBC(this ChineseString cs) { throw new NotImplementedException(); }
24 public static string GetChineseSpell(this ChineseString cs) { throw new NotImplementedException(); }
25 }
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››扩展数据:如何为 Model 750 服务器选择 I/O 扩展...
- ››扩展 JDT 实现自动代码注释与格式化
- ››扩展 secldap 的功能以验证多个数据源
- ››扩展 JUnit4 以促进测试驱动开发
- ››扩展 JUnit 测试并行程序
- ››扩展的ToolStripEx控件
- ››扩展 Eclipse 的 Java 开发工具
- ››扩展 Eclipse 辅助和规范开发流程
- ››扩展方法 DataTable 和List 相互转换
更多精彩
赞助商链接