c#-9.0相关内容
我在尝试将项目从.NET core 3.1升级到最新的.NET 5时遇到了不兼容的问题。 我的原始代码有一个验证逻辑,通过检查从Path.GetInvalidFileNameChars()API返回的每个字符来检查无效的文件名字符。 var invalidFilenameChars = Path.GetInvalidFileNameChars(); bool validFileNam
..
我遇到此代码: var rectangle = new Rectangle(420, 69); var newOne = rectangle with { Width = 420 } 我想知道C#代码中的with关键字。这是做什么用的?怎样才能用得上呢?它给语言带来了什么好处? 推荐答案 它是表达式中使用的运算符,用于简化对象的复制,覆盖对象的某些公共属性/字段(可选) wi
..
随着 C# 9.0 和 .NET 5 的到来,引入了一项称为“顶级程序"的新功能. 此功能无需将代码包装在通常的命名空间/类/Main 方法中,从而消除了创建简单 C# 应用程序所需的大量样板代码,如 欢迎来到 C# 9.0 博客 创建一个简单的“Hello World"应用程序唯一需要的顶级程序代码如下(摘自博客) 使用系统;Console.WriteLine("Hello Wor
..
通过将相应的 *.csproj 文件修改为以下内容,我已将 Asp.Net Core 3.1 (MVC) 升级到 .Net 5: net5.09.0 现在我可以使用 C# 9 目标打字功能... string s = new('c', 3);//编译正常 ...但我无法创建 记录类: 公共数据类用户{//IDE1007 当前上下文中不
..
我想使用带有 JsonPropertyName 属性的记录,但它导致了错误.这个不支持?有什么解决方法吗? 公共记录 QuoteResponse([JsonPropertyName(“quotes")] IReadOnlyCollection? Quotes);错误 CS0592 属性“JsonPropertyName"在此声明类型上无效.它仅对“属性、索引器、字段"声明有效. 解决方案 默
..
我制作了一个 C# 9 源代码生成器,你可以在 这里找到它 当我在另一个解决方案中使用整个项目并将其作为项目引用时,它可以工作,但是当我将它与当前配置一起上传到 Nuget (此处)它不起作用. 如何正确配置 C# 9 源代码生成器以用作 Nuget 包?我的项目有什么问题? netstandard2.0
..
我已经下载并安装了 v5.0.0-preview.5.我的项目面向 net5.0 但 C# 9.0 不起作用.如何启用 C# 9.0? 解决方案 截至 2020 年 10 月: 请在此处查看@Pac0 的回答:https://stackoverflow.com/a/64386529/159145 截至 2020 年 6 月: 根据文档中的这个页面 您需要编辑您的 *.cs
..
对于在控制器和服务层之间移动数据的所有 DTO 类,我是否应该使用 Record? 我是否应该将 Record 用于我的所有请求绑定,因为理想情况下我希望发送到控制器的请求对于我的 asp.net API 来说是不可变的 什么是记录?Anthony Giretti 介绍 C#9:记录 公共类 HomeController{公共 IHttpAction 搜索([FromBody] S
..
随着 C# 9.0 和 .NET 5 的到来,引入了一项称为“顶级程序"的新功能. 此功能无需将代码包装在通常的命名空间/类/Main 方法中,从而消除了创建简单 C# 应用程序所需的大量样板代码,如 欢迎来到 C# 9.0 博客 创建一个简单的“Hello World"应用程序唯一需要的顶级程序代码如下(摘自博客) 使用系统;Console.WriteLine("Hello Wor
..
通过将相应的 *.csproj 文件修改为以下内容,我已将 Asp.Net Core 3.1 (MVC) 升级到 .Net 5: net5.09.0 现在我可以使用 C# 9 目标打字功能... string s = new('c', 3);//编译正常 ...但我无法创建 记录类: 公共数据类用户{//IDE1007 当前上下文中不
..
我想使用带有 JsonPropertyName 属性的记录,但它导致了错误.这个不支持?有什么解决方法吗? 公共记录 QuoteResponse([JsonPropertyName(“quotes")] IReadOnlyCollection? Quotes);错误 CS0592 属性“JsonPropertyName"在此声明类型上无效.它仅对“属性、索引器、字段"声明有效. 解决方案 默
..
我制作了一个 C# 9 源代码生成器,你可以在 这里找到它 当我在另一个解决方案中使用整个项目并将其作为项目引用时,它可以工作,但是当我将它与当前配置一起上传到 Nuget (此处)它不起作用. 如何正确配置 C# 9 源代码生成器以用作 Nuget 包?我的项目有什么问题? netstandard2.0
..
我已经下载并安装了 v5.0.0-preview.5.我的项目面向 net5.0 但 C# 9.0 不起作用.如何启用 C# 9.0? 解决方案 截至 2020 年 10 月: 请在此处查看@Pac0 的回答:https://stackoverflow.com/a/64386529/159145 截至 2020 年 6 月: 根据文档中的这个页面 您需要编辑您的 *.cs
..
对于在控制器和服务层之间移动数据的所有 DTO 类,我是否应该使用 Record? 我是否应该将 Record 用于我的所有请求绑定,因为理想情况下我希望发送到控制器的请求对于我的 asp.net API 来说是不可变的 什么是记录?Anthony Giretti 介绍 C#9:记录 公共类 HomeController{公共 IHttpAction 搜索([FromBody] S
..
我通过将相应的 *.csproj 文件修改为以下内容,将 Asp.Net Core 3.1 (MVC) 升级到了 .Net 5: net5.09.0 现在我可以使用 C# 9 目标打字功能... string s = new('c', 3);//编译正常 ...但我无法创建 记录类: 公共数据类用户{//IDE1007 名称“data
..
我想使用带有 JsonPropertyName 属性的记录,但它导致了错误.这个不支持?有什么解决方法吗? 公共记录 QuoteResponse([JsonPropertyName(“quotes")] IReadOnlyCollection? Quotes);错误 CS0592 属性“JsonPropertyName"在此声明类型上无效.它仅对“属性、索引器、字段"声明有效. 解决方案 默
..
我制作了一个 C# 9 源代码生成器,你可以在 这里找到它 当我在另一个解决方案中使用整个项目并将其作为项目引用时,它可以工作,但是当我将它与当前配置一起上传到 Nuget (此处)它不起作用. 如何正确配置 C# 9 源代码生成器以用作 Nuget 包?我的项目有什么问题? netstandard2.0
..
我是否应该将 Record 用于在控制器和服务层之间移动数据的所有 DTO 类? 我是否应该将 Record 用于我的所有请求绑定,因为理想情况下我希望发送到控制器的请求对于我的 asp.net api 来说是不可变的 什么是记录?https://anthonygiretti.com/2020/06/17/introducing-c-9-records/ 公共类 HomeContr
..
随着 C# 9.0 和 .NET 5 的到来,引入了一项称为“顶级程序"的新功能. 此功能无需将代码包装在通常的命名空间/类/Main 方法中,从而消除了创建简单 C# 应用程序所需的大量样板代码,如 欢迎来到 C# 9.0 博客 创建一个简单的“Hello World"应用程序唯一需要的顶级程序代码如下(摘自博客) 使用系统;Console.WriteLine("Hello Wor
..
假设我有一个用 C# 9 编写的简单脚本,如下所示: 使用系统;使用 System.IO;//要放入什么???var exeFolder = Path.GetDirectoryName(typeof(???).Assembly.Location); 之前,对于完整的程序,我们可以使用 Main 类作为“指示器";班级.this 和 this.GetType() 不可用,因为从技术上讲,它位于静
..