DEV Community

Discussion on: Yo, Yo, Check Null

Collapse
 
peledzohar profile image
Zohar Peled

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.

Collapse
 
callmewhy profile image
Haiyang Wang

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.