public static bool IsValidCommandName( [NotNull] string name )
{
if ( name == null )
throw new ArgumentNullException( "name" );
if ( name.Length == 0 || name.Length > 16 )
return false;
// ReSharper disable LoopCanBeConvertedToQuery
foreach (char ch in name)
{
if ( ( ch < '0' && ch != '.' ) || ( ch > '9' && ch < 'A' ) || ( ch > 'Z' && ch < '_' ) ||
( ch > '_' && ch < 'a' ) || ch > 'z' ) {
return false;
}
}
// ReSharper restore LoopCanBeConvertedToQuery
return true;
}