| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | using System.Text.RegularExpressions;namespace Renci.SshNet.TestTools.OpenSSH{    public sealed class Subsystem    {        public Subsystem(string name, string command)        {            Name = name;            Command = command;        }        public string Name { get; }        public string Command { get; set; }        public static Subsystem FromConfig(string value)        {            var subSystemValueRegex = new Regex(@"^\s*(?<name>[\S]+)\s+(?<command>.+?){1}\s*$");            var match = subSystemValueRegex.Match(value);            if (match.Success)            {                var nameGroup = match.Groups["name"];                var commandGroup = match.Groups["command"];                var name = nameGroup.Value;                var command = commandGroup.Value;                return new Subsystem(name, command);            }            throw new ArgumentException($"'{value}' not recognized as value for Subsystem.",                                        nameof(value));        }        public void WriteTo(TextWriter writer)        {            if (writer is null)            {                throw new ArgumentNullException(nameof(writer));            }            writer.WriteLine(Name + "=" + Command);        }    }}
 |