代码在 Rider 2020.2 及之前没有错误 我将 Rider 升级到 2020.3.1 以及 ReSharper 命令行工具。现在我在 Xamarin C# 项目中收到这个奇怪的警告:
var controller = new UIActivityViewController(items.ToArray(), null);
controller.CompletionWithItemsHandler = (activityType, completed, returnedItems, error) =>
{
// here: Expression is always true
if (error != null)
{
logger.Error("Error: {0}", error.Description);
}
};
当我将内联处理程序更改为方法时,错误消失了。我在这里错过了什么?
private void CompletionWithItemsHandler(NSString activityType, bool completed, NSExtensionItem[] returnedItems, NSError error)
{
if (error != null)
{
logger.Error("Error: {0}", error.Description);
}
}
答案 0 :(得分:0)
事实证明代码完全没问题。
Xamarin.iOS 的开发人员已打开 Nullable 引用类型,但未完全正确标记所有可为 null 的参数。它似乎已经存在了很长一段时间,但新版本的 Rider 现在还可以检查以前显然没有的库代码。