.NET Core低版本下如何将Record替换为Class?
问题:将C# Record改写为兼容低版本.NET Core的Class
我在代码中使用Record定义了一个类型,但另有一个基于低版本.NET Core的项目无法支持Record语法,请问该如何将其改写为Class?
原始Record代码
public record BucketObject(string name, string urn);
改写后的Class代码
public class BucketObject { public BucketObject(string _name, string _urn) { name = _name; urn = _urn; } public string name { get; set; } public string urn { get; set; } }
补充说明
如果想要更贴近原生Record的不可变特性(Record默认属性为仅初始化状态),可以把属性的set改为init(该语法支持.NET Core 3.1及以上版本,若项目版本更低则保留set即可):
public class BucketObject { public BucketObject(string name, string urn) { Name = name; Urn = urn; } public string Name { get; init; } public string Urn { get; init; } }
内容的提问来源于stack exchange,提问作者Tim Huang
相关产品推荐
相关产品推荐

