В соответствии с соглашениями Microsoft (по крайней мере, в некоторых местах) это должно выглядеть следующим образом:
private void EnsureValidDetails(string nickname, string groupId)
{
if (string.IsNullOrWhiteSpace(nickname))
{
throw new ArgumentNullException(nameof(nickname));
}
else if (string.IsNullOrEmpty(groupId))
{
throw new ArgumentNullException(nameof(groupId));
}
int parsedGroupId;
if (!int.TryParse(groupId, out parsedGroupId))
{
// or some better wording
throw new ArgumentException("GroupId is not a valid number.");
}
if (parsedGroupId < 0 || parsedGroupId > 100)
{
throw new ArgumentOutOfRangeException("GroupId must be between 0 and 100.");
}
}
Обратите внимание, что этот метод делает больше, чем должен.groupId
должен быть параметром int
, и метод должен только проверять, находится ли значение в допустимом диапазоне:
private void EnsureValidDetails(string nickname, int groupId)
{
if (string.IsNullOrWhiteSpace(nickname))
{
throw new ArgumentNullException(nameof(nickname));
}
else if (groupId < 0 || groupId > 100)
{
throw new ArgumentOutOfRangeException("GroupId must be between 0 and 100.");
}
}
Тем не менее, это может быть не лучшим способом на самом деле проверить этот видвещей.Он, безусловно, работает как универсальный, независимый от фреймворка способ, но некоторые .NET-фреймворки (WPF, WCF, WinForms, ASP.NET) предоставляют встроенные способы сделать это.