Ejemplo n.º 1
0
        public int Mult(TelnetArgument arg)
        {
            var result = 1;

            arg.GetArguments <int>().ToList().ForEach(item => result = result * item);
            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 反射执行Api
        /// 作用:扩展和维护都很方便
        /// 到了这一步,剩下的都是写业务代码了
        /// </summary>
        /// <param name="session"></param>
        /// <param name="api"></param>
        /// <param name="arg"></param>
        private void ExecApi(TelnetSession session, ApiAction api, TelnetArgument arg)
        {
            CurrentSession = session;
            var result = api.Execute(this, arg);

            if (api.IsVoidReturn == false)
            {
                session.Send(Environment.NewLine + result);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Telnet请求
 /// </summary>
 /// <param name="cmd">命令</param>
 /// <param name="arg">参数</param>
 public TelnetRequest(string cmd, string arg)
 {
     this.Command  = cmd;
     this.Argument = new TelnetArgument(arg);
 }
Ejemplo n.º 4
0
 [Api] // add 1 2 3
 public int Add(TelnetArgument arg)
 {
     return(arg.GetArguments <int>().Sum());
 }
Ejemplo n.º 5
0
 public void Quit(TelnetArgument arg)
 {
     CurrentSession.Close();
 }
Ejemplo n.º 6
0
 public void Close(TelnetArgument arg)
 {
     this.Quit(arg);
 }
Ejemplo n.º 7
0
 public Version Version(TelnetArgument arg)
 {
     return(typeof(SessionBase).Assembly.GetName().Version);
 }