public int Mult(TelnetArgument arg) { var result = 1; arg.GetArguments <int>().ToList().ForEach(item => result = result * item); return(result); }
/// <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); } }
/// <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); }
[Api] // add 1 2 3 public int Add(TelnetArgument arg) { return(arg.GetArguments <int>().Sum()); }
public void Quit(TelnetArgument arg) { CurrentSession.Close(); }
public void Close(TelnetArgument arg) { this.Quit(arg); }
public Version Version(TelnetArgument arg) { return(typeof(SessionBase).Assembly.GetName().Version); }