接着上次的,以扩展String类型为例,继续根据自己的使用习惯闭门造车!
 
这一次我重载了运算符 = 和 + ,我觉得这样更方便我的使用。首先先贴代码:
        /// <summary>
        /// 重载转换运算符:可以直接赋string的值给本对象完成实例化
        /// </summary>
        /// <param name="WString"></param>
        /// <returns></returns>
        public static implicit operator WString(string str)
        {
            return new WString(str);
        }

        /// <summary>
        /// 重载运算符:两个WString类型可以直接拼接字符串 sRet
        /// </summary>
        /// <param name="s1"></param>
        /// <param name="s2"></param>
        /// <returns></returns>
        public static WString operator +(WString s1, WString s2)
        {
            s1.sRet = string.Concat(s1.sRet, s2.sRet);
            return s1;
        }

重载运算符

演示代码:

            //修改构造函数,支持占位符
            WString sRet = );
            Console.WriteLine(sRet.sRet);
            Console.WriteLine();

            //也可以直接通过String来初始化对象
            WString sRet2 = "测试一下哦";
            Console.WriteLine(sRet2);
            Console.WriteLine();

            //支持两个WString通过运算符 + 来拼接字符串
            sRet2 += sRet;
            Console.WriteLine(sRet2);
            Console.WriteLine();

演示效果:

其他的修改:
1、重载了一个构造函数,支持占位符了(个人习惯嘛)
 
2、重写了ToString方法,直接返回WString的sRet属性(个人习惯)
 
3、序列化类内置,不需要引用Network.Json,内部使用的是fastJson。只需要引用WLF一个DLL,提供WLF.Json.JsonConvert类来完成序列化和反序列化。
 
使用fastJson的优点,虽然序列化的数据冗长,但可以序列化0行的 DataTable,很多序列化方式在0行DataTable情况下是返回空的,得到的DataTable是没有列头的,而fastJson可以达到我的要求。
 
这次重载了运算,自己用起来更爽了,很开心。

设计适用于SOA的类型(二)的更多相关文章

  1. 设计适用于SOA的类型

    我们经常把一个项目分层去开发,无论是通过三层来面向对象开发还是用WCF或Remoting等面向服务的方式开发,返回值只有一个,如果底层出错了我们一般写日志来记录这些错误,然后分析错误来解决问题,但用户 ...

  2. 结合领域驱动设计的SOA分布式软件架构

    引言 本文主要是参考Martion Fowler所著的<企业应用架构模式>与Eric Evans所著的<领域驱动设计>这两本泰山之作,加上本人在近年实际的工作过程中开发SOA系 ...

  3. IDDD 实现领域驱动设计-SOA、REST 和六边形架构

    上一篇:<IDDD 实现领域驱动设计-架构之经典分层> 阅读目录: SOA-面向服务架构 REST 与 RESTful 资源(Resources) 状态(State) 六边形架构 DDD ...

  4. 网页设计实战3 ufo类型的科技网页如何实现

    网页设计实战3 ufo类型的科技网页如何实现 一.总结 一句话总结:基础的图片素材就是如何几张图片,这个效果只是通过jquery或者js让那个png图片旋转起来了,如此而已.其实核心就是一个trans ...

  5. WPF 判断一个对象是否是设计时的窗口类型,而不是运行时的窗口

    原文:WPF 判断一个对象是否是设计时的窗口类型,而不是运行时的窗口 当我们对 Window 类型写一个附加属性的时候,在属性变更通知中我们需要判断依赖对象是否是一个窗口.但是,如果直接判断是否是 W ...

  6. 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)

    1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...

  7. ASP.NET MVC 描述类型(二)

    ASP.NET MVC 描述类型(二) 前言 上个篇幅中说到ControllerDescriptor类型的由来过程,对于ControllerDescriptor类型来言ActionDescriptor ...

  8. Android jni 编程4(对基本类型二维整型数组的操作)

    Android jni 编程 对于整型二维数组操作: 类型一:传入二维整型数组,返回一个整型值 类型二:传入二维整型数组,返回一个二维整型数组 声明方法: private native int Sum ...

  9. 《Linux内核设计与实现》 第一二章学习笔记

    <Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...

随机推荐

  1. 注册 集 与 删除 -- C

    文章3位设置和清除操作. #include <stdio.h> #include <stdlib.h> #include <string.h> #define BI ...

  2. 使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置)

    原文:使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置) 在上一篇中说到了Silverlight下的Socket通信,在最后的时候说到本篇将会结合地图. ...

  3. pig 的chararry不能用于比较的类型可以comparison operator

    pig 的chararry类型可以是由场,通过现场实地比较. element_id 这是chararray种类. 声明: no_app_category_mapping = filter no_ele ...

  4. javascript继承—继承的实现原理(1)

    原文:javascript继承-继承的实现原理(1) 打算针对js的继承写一系列文章,详细的分析js里继承原理,实现方式,各种继承方式的优缺点,以及最优继承方案,还有多继承的问题等…. 面向对象的编程 ...

  5. 认识bash这个shell

    我们通过shell将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作bash是我们Linux默认的shell 用户界面(Shell,application)--------核心(Kern ...

  6. J2EE之验证码实现

    package cn.itcast.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; i ...

  7. 【甘道夫】Ubuntu群集配置 - 免费登陆

    引言 这是几年前写的文章,但一直以来该问题被反复问到.所以我决定将它又一次搬上屏幕. 正文 三个节点:masternode    slavenode1   slavenode2 第一步:全部节点分别生 ...

  8. hdu 5053 the Sum of Cube(上海网络赛)

    the Sum of Cube Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  9. The Swift Programming Language-官方教程精译Swift(2)基础知识

    Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Ar ...

  10. C# 窗口间传递数据

    C#两个窗口之间传递数据 1 公用变量值传递 public partial class Form1 : Form //parent form { public string name="&q ...