Just one note: You want the actual name of the parameter to show in the exception, not the type name, so you need to change the signature to IsNull<T>(T argument, string argumentName) and call it like this: ThrowIf.Argument.IsNull(foo, nameof(foo)).
Also, you're adding one more method call to the stacktrace, but that's really not a big deal, though.
Yes you are right. I noticed it days ago and wanted to fix this today before anyone discovering the mistake. Then your comment comes LOL
We can fix this by ThrowIf.Argument.IsNull(foo, nameof(foo)), but foo, nameof(foo) is really redundant. I want to get the caller params name in callee directly and I found this: Proposal: Caller Parameter Name #1557. We can get the caller member name, line number, and the file path, but we cannot get the caller's params name.
For now, ThrowIf.Argument.IsNull(foo, nameof(foo)) may be the only way to display the name of params
Thanks for calling out! I just updated the blog according to your suggestion.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Just one note: You want the actual name of the parameter to show in the exception, not the type name, so you need to change the signature to
IsNull<T>(T argument, string argumentName)
and call it like this:ThrowIf.Argument.IsNull(foo, nameof(foo))
.Also, you're adding one more method call to the stacktrace, but that's really not a big deal, though.
See fiddle.
Yes you are right. I noticed it days ago and wanted to fix this today before anyone discovering the mistake. Then your comment comes LOL
We can fix this by
ThrowIf.Argument.IsNull(foo, nameof(foo))
, butfoo, nameof(foo)
is really redundant. I want to get the caller params name in callee directly and I found this: Proposal: Caller Parameter Name #1557. We can get the caller member name, line number, and the file path, but we cannot get the caller's params name.For now,
ThrowIf.Argument.IsNull(foo, nameof(foo))
may be the only way to display the name of paramsThanks for calling out! I just updated the blog according to your suggestion.