cost 37 ms
C# 多个 Inheritance 与 c# 8.0

C# 为什么不支持多个 Inheritance? C# 编译器设计为不支持多重继承,因为它会导致来自不同基础 class 的方法不明确。 但是从 C# 8.0 开始,C# 支持 Body in Interface,我们可以继承多个接口。 这是它的例子 - 因此,这意味着 C# 可以克服歧义方法 ...

2022-09-27 09:46:11 0 35
带有方法体的多接口 Inheritance

假设我有这两个接口。 和一个继承 Imath1 和 Imath2 的 class。 在这里,我无法从父接口访问 GetSum 方法。 请提供解决方案。 ...

2022-09-27 07:21:27 2 44
c# 8+ Inheritance(带覆盖)与默认接口实现相结合

我有一个看起来像这样的“继承树”: 这意味着: Device 是基础 class ,其中 DeviceType1 和 Target(DevX)/TargetWithTeststand(DevX)/Simulation(DevX) 继承。 让我们假设一个 function(即按下电源按钮)在 Tar ...

2022-09-19 06:23:35 1 6
接口上的新默认属性未在实现接口的 class 上显示

.NET,Winforms,C# 8 我正在尝试定义一个具有默认为 false 的只读属性的接口。 计划是只覆盖那些需要 true 值的实现接口的属性: 界面: 实现 class: 当我这样做时,我期望变量 test 具有两个属性 - CanConnect(值为 true)和 CanDisconn ...

2022-08-19 13:52:35 0 9
为什么开关表达式不计入圈复杂度?

假设我有这个方法: Visual Studio 给出的圈复杂度为 4(在我看来,实际的圈复杂度为 3,但这是题外话)。 现在,如果我使用 switch 表达式重构代码,我会得到: Visual Studio 现在表示圈复杂度为 1,即使代码执行完全相同的操作。 圈复杂度真的降低了吗? ...

2022-06-23 21:25:04 0 54
为什么 C# 编译器认为这个空包引用可以为空?

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

2022-06-13 17:40:41 2 97
为什么在 C# 中将静态类型传入和传出接口方法是有效的?

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

2022-05-06 06:32:02 1 61
ASP.NET MVC 模型绑定与可为空的引用类型

我刚刚使用 .NET 6.0 和 C# 10 创建了一个新的 ASP.NET MVC 应用程序,在这个项目模板中,可空引用类型功能默认启用。 但是好的,我正在学习如何处理这个功能。 我有以下 ViewModel 类: 为了避免 Name 字段的 Nullable Reference Type ...

2022-04-09 19:26:02 1 153
将 ExpandoObject 转换为字典会创建可为空的引用警告

我打开了可为空的引用类型,并且我有以下代码块: 我正在尝试将 expando object 转换为字典,但每次转换都给我以下警告: 警告 CS8619 类型“ExpandoObject”的值中的引用类型可空性与目标类型“IDictionary<string, object>”不匹配。 我 ...

2022-01-31 14:45:04 0 6
如何在 ASP.net 网站中使用更新的语言功能?

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

2022-01-28 23:06:34 1 20
传递参数“params object array”和“object array”之间的区别

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

2022-01-27 04:23:37 1 30
禁止 DatabaseGenerated 列上的不可为空属性

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

2022-01-22 21:45:19 1 17
EF 核心 DbSet 的不可为空警告

如果我有如下的 DbContext(这是标准的数据库上下文): 我打开了可为空的引用类型。 我在构造函数上收到警告: 退出构造函数时,不可为空的属性“审核”必须包含非空值。 考虑将属性声明为可为空。 我怎样才能让这个警告 go 远离(并保留接口)? ...

2022-01-20 15:13:04 1 8
Null-Forgiving 运算符仍显示警告

我有以下方法来覆盖 ToString() 如果 HasNoValue 返回 true,则 value 属性包含 null,因此返回“No Value”。 HasNoValue 属性(和 HasValue)如下所示: 因此,如果 NoHasValue 为假,我知道值不是 Null。 如您所见,在调用 ...

2022-01-18 17:03:10 1 49
正在使用 C#8 类型安全的“接口中的成员”功能

在我的C#8 接口与其中定义的属性/方法的这个问题之后 - 显然不起作用,是否可以使用“接口中的成员”功能而不会明显引入必要的铸造的间隙类型孔(在接受答案)似乎创造? 如果为此需要危险的铸造,那么它似乎可能比资产承担更大的责任。 ...

2022-01-14 10:34:59 0 13
C#8 接口,其中定义了属性/方法 - 显然不起作用

这是我使用的界面。 isPresent 是抽象的,因此界面用户必须实现它。 接口还带有一个方便的否定,isAbsent,它已实现,并且是虚拟的,因此应该将它添加到它混合在一起的所有子类中(实际上它从未被覆盖,但无论如何,从 isAbsent 中删除“覆盖”不会改变任何东西)。 然后尝试使用IPre ...

2021-12-27 14:07:00 1 11
将 c# 代码从 c# 8/9/10 降级到 c# 7.3 或更低版本的工具 [关闭]

关闭。 这个问题不符合Stack Overflow 准则。 它目前不接受答案。 想改进这个问题? 更新问题,使其成为 Stack Overflow的主题。 30 分钟前关闭。 社区正在审查是否在28 分钟前重新提出这个问题。 改进这个问题我正在寻找一种工具来从 7.3 之后的 c# 版本降级 ...

2021-12-08 02:08:14 0 16

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