using Netch.Models; namespace Netch.Controllers { public interface IServerController : IController { public ushort? Socks5LocalPort { get; set; } public string? LocalAddress { get; set; } /// /// 启动 /// /// 服务器 /// 模式 /// 是否启动成功 public abstract void Start(in Server s, in Mode mode); } public static class ServerControllerExtension { public static ushort Socks5LocalPort(this IServerController controller) { return controller.Socks5LocalPort ?? Global.Settings.Socks5LocalPort; } public static string LocalAddress(this IServerController controller) { return controller.LocalAddress ?? Global.Settings.LocalAddress; } } }