I have a class with the deconstructor:
public void Deconstruct(out bool isSuccess, out TSuccess? value, out Error? error) {...}
Value of isSuccess
defines whish of value
or error
is null.
Can I somehow let compiler know about this, so when I call:
var (isSuccess, value, error) = result;
analyzer knows which variable can and cannot be null?
According to my knowledge you can't.
The NotNullWhenAttribute
postcondition relies on the boolean return value. For example:
bool TryExecute(
[NotNullWhen(true)] out TSuccess? value,
[NotNullWhen(false)] out Error? error)
Since deconstructor must be defined in the way that its return type is void
, you can't mix the two techniques.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.