Допустим, у меня есть этот код:
public void MyMethod(string Data, List<string> InputData)
{
//I would assume throwing an exception for nulls would be correct
if (String.IsNullOrWhiteSpace(Data) || InputData == null)
throw new ArgumentNullException("Oops");
if (InputData.Count == 0)
//throw exception or use event to raise a problem
//throw Exception("Empty List")
//if (DisplayError != null)
// DisplayError("Empty List");
}
Теперь наличие пустого списка не является исключительной проблемой, поэтому я должен элегантно с ним справиться.Одним из способов является создание события для уведомления о проблеме.Просто заставляет меня задуматься, почему я не просто поднимаю событие, если аргументы нулевые.
Какова лучшая практика в этом типе проблемы?
EventHandler Пример:
public class MyOtherClass
{
public event Action<string,List<string>> ItFired;
public void DoSomething()
{
if(ItFired != null)
ItFired(myString, myList);
}
}
public class AnotherClass
{
public void DoSomething()
{
var otherclass = new MyOtherClass();
var myClass = new MyClass();
otherClass.ItFired += myClass.MyMethod;
}
}