我正在尝试为Register CommandHandler编写一个类
public virtual void RegisterCommandHandler<T>(string messageType, Action<T, MetaData> handler)
{
_handlers.Add(messageType, (command, metadata) => handler((T)command, metadata));
}
我想处理两个例外:
我尝试按照以下方式进行操作。但这并不成功
if (string.IsNullOrEmpty(handler.ToString()))
throw new ArgumentNullException("NullException","null value");
请帮我写一些验证 谢谢!
答案 0 :(得分:1)
您应该检查处理程序是否直接为空。
if (handler == null)
throw new ArgumentNullException("handler cannot be null", "handler");
你现在遇到问题的原因是如果handler为null,handler.ToString()将抛出NullReferenceException。