Exemplo n.º 1
0
        /// <summary>
        /// 解析输入参数
        /// </summary>
        /// <param name="enumer">包含参数的枚举,子类可自行调用 enumer.MoveNext()</param>
        /// <returns></returns>
        protected override bool OnParse(IParseEnumerator enumer)
        {
            string target = enumer.Current;

            if (target.StartsWith("/"))
            {
                target = target.Substring(1);
            }
            if (target == enumer.Current)
            {
                return false;
            }

            int kvSplidPos = target.IndexOf("=");
            if (kvSplidPos == -1)
            {
                kvSplidPos = target.IndexOf(":");
            }
            if (kvSplidPos == -1)
            {
                return false;
            }

            string key = target.Substring(0, kvSplidPos);

            if (key != this.Key)
            {
                return false;
            }

            enumer.Current = enumer.Current.Substring(2 + key.Length);
            return true;
        }
Exemplo n.º 2
0
 /// <summary>
 /// 解析输入参数
 /// </summary>
 /// <param name="enumer">包含参数的枚举,子类可自行调用 enumer.MoveNext()</param>
 /// <returns></returns>
 protected override bool OnParse(IParseEnumerator enumer)
 {
     if (enumer.End)
     {
         throw new ArgumentNullException(string.Format("{0} 未定义值", this.Name));
     }
     this.Value = enumer.Current;
     enumer.MoveNext();
     return true;
 }
Exemplo n.º 3
0
 /// <summary>
 /// 解析输入参数
 /// </summary>
 /// <param name="enumer">包含参数的枚举,子类可自行调用 enumer.MoveNext()</param>
 /// <returns></returns>
 protected override bool OnParse(IParseEnumerator enumer)
 {
     foreach (var prifex in this.Prifexs)
     {
         if (prifex.Parse(enumer))
         {
             return true;
         }
     }
     return false;
 }
Exemplo n.º 4
0
 /// <summary>
 /// 解析输入参数
 /// </summary>
 /// <param name="enumer">参数枚举器</param>
 /// <returns>如果解析成功返回 <c>true</c>,否则返回 <c>false</c></returns>
 public bool Parse(IParseEnumerator enumer)
 {
     if (this.InnerParseEntity == null)
     {
         return this.OnParse(enumer);
     }
     if (InnerParseEntity.Parse(enumer))
     {
         return this.OnParse(enumer);
     }
     return false;
 }
Exemplo n.º 5
0
 /// <summary>
 /// �����������
 /// </summary>
 /// <param name="enumer">����������ö�٣���������е��� enumer.MoveNext()</param>
 /// <returns></returns>
 protected override bool OnParse(IParseEnumerator enumer)
 {
     _targets.Add(enumer.Current);
     enumer.MoveNext();
     if (this.OrderTarget && !enumer.End)        // ���������˳���Ŀ�꣬�򽫺�������ֵ����ΪĿ��ֵ
     {
         do
         {
             _targets.Add(enumer.Current);
         } while (enumer.MoveNext());
     }
     return true;
 }
Exemplo n.º 6
0
 /// <summary>
 /// 解析输入参数
 /// </summary>
 /// <param name="enumer">包含参数的枚举,子类可自行调用 enumer.MoveNext()</param>
 /// <returns></returns>
 protected override bool OnParse(IParseEnumerator enumer)
 {
     string target = enumer.Current;
     if (target.StartsWith("/")
         || (target.StartsWith("-") && !target.StartsWith("--")))
     {
         if (target.Substring(1) == this.Key)
         {
             enumer.MoveNext();
             return true;
         }
     }
     return false;
 }
Exemplo n.º 7
0
        /// <summary>
        /// 解析输入参数
        /// </summary>
        /// <param name="enumer">包含参数的枚举,子类可自行调用 enumer.MoveNext()</param>
        /// <returns></returns>
        protected override bool OnParse(IParseEnumerator enumer)
        {
            string target = enumer.Current;

            if (target.StartsWith("--"))
            {
                target = target.Substring(2);
            }
            else if (target.StartsWith("/"))
            {
                target = target.Substring(1);
            }
            if (target == enumer.Current)
            {
                return false;
            }

            if (target == this.Key)
            {
                enumer.MoveNext();
                return true;
            }
            return false;
        }
Exemplo n.º 8
0
 /// <summary>
 /// �����������
 /// </summary>
 /// <param name="enumer">����������ö�٣���������е��� enumer.MoveNext()</param>
 /// <returns></returns>
 protected override bool OnParse(IParseEnumerator enumer)
 {
     return true;
 }
Exemplo n.º 9
0
 /// <summary>
 /// 解析输入参数
 /// </summary>
 /// <param name="enumer">包含参数的枚举,子类可自行调用 enumer.MoveNext()</param>
 /// <returns></returns>
 protected override bool OnParse(IParseEnumerator enumer)
 {
     this.IsDefined = true;
     return true;
 }
Exemplo n.º 10
0
 /// <summary>
 /// 解析输入参数
 /// </summary>
 /// <param name="enumer">包含参数的枚举,子类可自行调用 enumer.MoveNext()</param>
 /// <returns></returns>
 protected abstract bool OnParse(IParseEnumerator enumer);
Exemplo n.º 11
0
 /// <summary>
 /// 解析输入参数
 /// </summary>
 /// <param name="enumer">包含参数的枚举,子类可自行调用 enumer.MoveNext()</param>
 /// <returns></returns>
 protected override bool OnParse(IParseEnumerator enumer)
 {
     ValueString = enumer.Current;
     enumer.MoveNext();
     return true;
 }