乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

原文:乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

[索引页][源码下载]

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

作者:webabcd





介绍

给定一个语言, 定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。





示例

有一个Message实体类,某个类对它的操作有Get()方法。现在要求用具有某一规则的中文语法来执行这个操作。

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)





MessageModel

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// Message实体类

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class MessageModel

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 构造函数

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="msg">Message内容</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="pt">Message发布时间</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public MessageModel(string msg, DateTime pt)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            this._message = msg;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            this._publishTime = pt;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private string _message;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// Message内容

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public string Message

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            get 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ return _message; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            set 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ _message = value; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private DateTime _publishTime;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// Message发布时间

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public DateTime PublishTime

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            get 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ return _publishTime; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            set 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ _publishTime = value; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

SqlMessage

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// Sql方式操作Message

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class SqlMessage

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取Message

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public static List<MessageModel> Get()

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            List<MessageModel> l = new List<MessageModel>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            l.Add(new MessageModel("SQL方式获取Message", DateTime.Now));

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return l;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

Context

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// Context

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class Context

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private string _input;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private string _output;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 构造函数

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="input">输入内容</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public Context(string input)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            this._input = input;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 输入内容

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public string Input

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            get 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ return _input; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            set 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ _input = value; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 输出内容

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public string Output

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            get 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ return _output; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            set 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ _output = value; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// 抽象公式(AbstractExpression)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public abstract class AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 解释Context的方法

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="context">context</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public void Interpret(Context context)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            if (String.IsNullOrEmpty(context.Input))

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)                return;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            context.Output += GetCSharp(context.Input);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获得输入内容所对应的C#代码

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private string GetCSharp(string source)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            string csharp = "";

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            string word = "";

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            // 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            word = GetWord(source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            // 从字典中找到word所对应的C#代码

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            GetDictionary().TryGetValue(word, out csharp);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return csharp;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public abstract string GetWord(string source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取字典

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public abstract Dictionary<string, string> GetDictionary();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

DatabaseExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text.RegularExpressions;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// 终端公式(TerminalExpression)分析与数据库相关的

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class DatabaseExpression : AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override string GetWord(string source)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            MatchCollection mc;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Regex r = new Regex(@"\{(.*)\}");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            mc = r.Matches(source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            ].Value;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取与数据库相关的字典

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override Dictionary<string, string> GetDictionary()

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Dictionary<string, string> d = new Dictionary<string, string>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            d.Add("数据库", "Sql");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return d;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

ObjectExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text.RegularExpressions;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// 终端公式(TerminalExpression)分析与对象相关的

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class ObjectExpression : AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override string GetWord(string source)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            MatchCollection mc;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Regex r = new Regex(@"\[(.*)\]");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            mc = r.Matches(source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            ].Value;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取与对象相关的字典

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override Dictionary<string, string> GetDictionary()

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Dictionary<string, string> d = new Dictionary<string, string>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            d.Add("信息", "Message");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return d;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

MethodExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text.RegularExpressions;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// 终端公式(TerminalExpression)分析与方法相关的

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class MethodExpression : AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override string GetWord(string source)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            MatchCollection mc;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Regex r = new Regex(@"\((.*)\)");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            mc = r.Matches(source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            ].Value;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取与方法相关的字典

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override Dictionary<string, string> GetDictionary()

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Dictionary<string, string> d = new Dictionary<string, string>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            d.Add("获取", ".Get()");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return d;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

client

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Data;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Configuration;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.Security;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.UI;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.UI.WebControls;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.UI.WebControls.WebParts;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.UI.HtmlControls;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using Microsoft.CSharp;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Reflection;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using Pattern.Interpreter;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)public partial class Interpreter : System.Web.UI.Page

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    protected void Page_Load(object sender, EventArgs e)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        string chinese = "{数据库}[信息](获取)";

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Context context = new Context(chinese);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        List<AbstractExpression> l = new List<AbstractExpression>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        l.Add(new DatabaseExpression());

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        l.Add(new ObjectExpression());

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        l.Add(new MethodExpression());

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        foreach (AbstractExpression exp in l)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            exp.Interpret(context);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Assembly assembly = Assembly.Load("Pattern.Interpreter");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        MethodInfo method ].Replace("()", ""));

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        object obj = method.Invoke(null, null);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        List<MessageModel> m = (List<MessageModel>)obj;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write("中文语法:" + chinese);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write("解释后的C#代码:" + context.Output);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write(].PublishTime.ToString());

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

运行结果

中文语法:{数据库}[信息](获取)

解释后的C#代码:SqlMessage.Get()

执行结果:SQL方式获取Message 2007-5-1 8:48:07





参考

http://www.dofactory.com/Patterns/PatternInterpreter.aspx





OK

[源码下载]

上一篇:设计模式之解释器模式(Interpreter)摘录


下一篇:.net判断System.Data.DataRow中是否包含某列