gpt4 book ai didi

c# - 析构函数和可为空的引用类型

转载 作者:行者123 更新时间:2023-12-05 05:48:28 35 4
gpt4 key购买 nike

我有一个带有解构函数的类:

public void Deconstruct(out bool isSuccess, out TSuccess? value, out Error? error) {...}

isSuccess 的值定义了 valueerror 为 null。

我能否以某种方式让编译器知道这一点,所以当我调用时:

var (isSuccess, value, error) = result;

分析器知道哪些变量可以为空,哪些不能为空?

最佳答案

据我所知,你不能。

NotNullWhenAttribute后置条件依赖于 bool 返回值。例如:

bool TryExecute(
[NotNullWhen(true)] out TSuccess? value,
[NotNullWhen(false)] out Error? error)

deconstructor must be defined因为它的返回类型是 void,所以您不能混合使用这两种技术。

关于c# - 析构函数和可为空的引用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70810911/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com