小编Ada*_*all的帖子

在 C# 8 中,如何检测不可能的空检查?

我已经开始在 C# 8 中使用可为 null 的引用类型。到目前为止,除了一件小事之外,我很喜欢这种改进。

我正在迁移一个旧的代码库,它充满了很多冗余或无法访问的代码,例如:

void Blah(SomeClass a) {
  if (a == null) {
    // this should be unreachable, since a is not nullable
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我没有看到任何可以为我标记此代码的警告设置!这是微软的疏忽,还是我遗漏了什么?

我也使用 ReSharper,但它的警告设置似乎也没有捕捉到这一点。有没有其他人找到解决这个问题的方法?

编辑:我知道从技术上讲这仍然可以访问,因为可空性检查不是防弹的。这不是重点。在这种情况下,我将参数声明为NOT nullable,检查它是否为通常是一个错误。在 null 作为不可空类型传入的罕见事件中,我更愿意查看NullReferenceException并追踪错误传入 null 的违规代码。

c# null c#-8.0 nullable-reference-types

6
推荐指数
1
解决办法
866
查看次数

“商店和网络”与“仅网络”之间有什么区别?

我已阅读文档,但我仍然对获取策略“存储和网络”和“仅网络”之间的区别感到困惑。

“store-and-network”:将重用本地缓存的数据,并且始终发送网络请求,无论本地缓存中是否缺少任何数据。

“仅网络”:不会重用本地缓存的数据,并且始终发送网络请求来获取查询,忽略任何可能在 Relay 中本地缓存的数据。

我只是不明白“商店和网络”的意义是什么。它声称它“将重用本地缓存的数据”......但它总是从网络获取,那么它到底可以重用什么?

在我的应用程序中,我对两者进行了实验,发现行为差异为零。有人可以对此进行扩展,也许可以演示“存储和网络”和“仅网络”实际上会从查询返回不同结果的场景吗?

relay reactjs relayjs

4
推荐指数
1
解决办法
999
查看次数

标签 统计

c# ×1

c#-8.0 ×1

null ×1

nullable-reference-types ×1

reactjs ×1

relay ×1

relayjs ×1