cost 318 ms
如何在 function 调用返回后告诉 C# 可空类型检查器变量不能是 null? - How to tell C# nullable type checker that a variable cannot be null after a function call returns?

简洁版本如何让 C# 可空类型检查编译器在调用返回后意识到变量customer不能是 null: .NET 小提琴: https://do.netfiddle.net/ZcgRCV 长版如果我有这样的代码: 当我尝试访问 .FirstName 时,编译器会(正确地)警告我customer可能是. ...

从 XML 模式文件 (xsd) 生成 C# 9 个类,包括现代功能(大部分为空值) - Generate C# 9 classes from an XML schema file (xsd), including modern features (nullables mostly)

我必须在我们的应用程序中实现对 ISO20022 文件格式的支持,而 Visual Studio 2022 提供的“xsd.exe”工具令人沮丧地不足。 最令人沮丧的一点是在生成的代码中缺乏对可空类型的正确支持:当 XML 元素被标记为“可选”时,生成的代码应该在目标 class 中正确地生成一个 ...

使引用类型可为空有什么意义? - What is the point of making a reference type nullable?

可空引用类型的文档说: 编译器使用这些注释来帮助您查找代码中潜在的 null 引用错误。 不可为 null 的引用类型和可为 null 的引用类型之间没有运行时差异。 编译器不会为不可为 null 的引用类型添加任何运行时检查。 好处在于编译时分析。 编译器会生成警告,帮助您查找并修复代码中潜在的 ...

C# 结构可变性:boolean 可以变异吗? - C# Struct mutability: Is a boolean ok to mutate?

作为 Unity 中编辑器补丁的一部分,我正在将以前的 Class 更改为 Struct。 我读过很多关于使用“不允许可变结构”的结构的建议,因为糟糕的复制行为会导致修改后的副本,并且难以跟踪。 据我了解,这是基于堆栈且没有数据开销的结果。 但是,我想通过具体案例来澄清这一点。 boolean ...

升级到 .NET 6,出现 EF 问题 - SqlNullValueException:'数据为 Null。 不能对 Null 值调用此方法或属性。 - Upgraded to .NET 6, having issues with EF - SqlNullValueException: 'Data is Null. This method or property cannot be called on Null values.'

在查询具有 Nullable 外键引用的实体时,我不断收到此错误。 我尝试在项目上启用和禁用可为空的引用类型 (NRT),但没有运气。 当JobId不是 null 值时它工作,当它是 NULL 时抛出异常。 我的实体如下所示: 请问这里有什么输入吗? 错误: System.Data.SqlTyp ...

为什么 C# 编译器认为这个空包引用可以为空? - Why does C# compiler thinks this nullbale reference can be null?

我有这段代码,编译器说ValidateMyObj(myObj) myObj的 myObj 可能为空。 既然string.IsNullOrEmpty必须不为空才能返回false并输入条件,它怎么能认为它可以为空呢? 但最重要的是,它怎么能认为它在myObj.Exists中不能为空? 编辑:玩明确 ...

继承成员的 MemberNotNullWhen(或其他代码分析属性)? - MemberNotNullWhen (or other code analysis attributes) for inherited members?

我有一个 class: 和一个子类: 当IsRegistered为true时,我想告诉编译器Holder不是 null 。 如果两个道具都在同一个 class 中声明,则可以用[MemberNotNullWhen(true, nameof(Holder))]注释IsRegistered 。 但是, ...

为什么在 C# 中将静态类型传入和传出接口方法是有效的? - Why is it valid to pass static types in and out of interface methods in C#?

我注意到以下代码似乎编译得很好,而我预计会出现多个错误: Math、MathF 和 Console 都是静态类 - 有什么理由证明这是有效的,还是只是规范/编译器的奇怪之处? 在尝试实现接口时,您会收到一个错误(我想这意味着您可以制作一个无法实现的接口,这有点酷) 更重要的是,我可以做得更糟 ...

无法使用接口中的受保护集实现属性 - Cannot implement property with protected set from interface

我有一个接口,它有一个带有 public get 和 protected set 的属性。 然而,当我在我的 class 中实现它时,我收到一条错误消息,指出它必须公开。 我的界面如下所示: 我的 class Segment: ISegment具有如下声明的属性: 我得到这个错误: 我在这里误解了什 ...

我的 c# 8.0 using 声明会正确处理我的 object 吗? 什么时候处置? - Will my c# 8.0 using declaration dispose my object correctly? When is it disposed?

当它为真时,我在循环中调用以下方法,这会导致自动重新连接。 由于我使用的是using关键字,它是在每次try/catch return false时处理 ClientWebSocket,还是仅在到达 ConnectAsync 结束时才处理它?private async Task<bool&g ...

C#8 接口默认值:如何以良好且可用的方式实现默认属性 - C#8 interface defaults: How to implement default properties in a nice and usable way

我真的很喜欢 C#8 中接口默认实现的想法。 但是试了之后失望就大了。。。 所以这是一个简单的例子,我在C#8 接口中找到了答案的一部分,其中定义了属性/方法——显然已经不工作了,为什么会这样:public interface IHasFirstNames { string? FirstNa ...

如何在 ASP.net 网站中使用更新的语言功能? - How to use newer language features in an ASP.net website?

我正在尝试在我的 asp.net 网站中使用本地 function: 但我得到一个编译时错误: CS8026 功能“本地功能”在 C# 5 中不可用。请使用 7.0 或更高版本的语言。 那好吧。 如何在 ASP.net 网站中使用语言版本 7.0 或更高版本? 似乎每个人都知道如何将ASP.ne ...

传递参数“params object array”和“object array”之间的区别 - Difference between passing parameter "params object array" and "object array"

我目前正在对输入 object 数组的 function 进行编码,并且已经阅读了很多示例,然后我在EntityFrameworkCore文档中找到了这些示例: 这两种方法的第一个输入参数params object有什么区别?[]? 和object?[]? 我查阅了很多params的介绍或其他相关文 ...

2022-01-27 04:23:37   1   30    c# / c#-8.0  
禁止 DatabaseGenerated 列上的不可为空属性 - Suppress Non-nullable property on DatabaseGenerated column

我有以下抽象 class: 我想将此 class 用作我所有实体框架实体类的基础 class。 一切都很好,除了我有一个我想压制的警告。 我启用了可为空的引用类型,并收到以下警告: 警告 CS8618 退出构造函数时,不可为空的属性“Id”必须包含非空值。 考虑将属性声明为可为空。 对于我有此警告的 ...


 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM