.NET7中required属性有哪些新变化?

2026-04-30 21:3814阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计668个文字,预计阅读时间需要3分钟。

.NET7中required属性有哪些新变化?

先看看再说。

  还是先看看C#中属性的这定义,在初始化和访问上有哪些方式,就能看出required属性有什么不一样的地方了。

  属性,是封装字段的,通过get和set访问器可以很好地验证数据的有效性。

public record Order_00
{
public Guid Id { get; set; }
private string? _orderNo;
public string? OrderNo
{
get => _orderNo;
set
{
if (!string.IsNullOrEmpty(value) && value.Length >= 8)
{
_orderNo = value;
}
else
{
throw new ApplicationException("OrderNo is error");
}
}
}
public DateTime OrderDate { get; set; }
}

  属性差异访问修饰符,如下面代码,当把Id的set定义成private后,只能在Order_01内访问到,构造也好,内部方法也好,默认值也好,都可以赋值操作,更可以验证。

阅读全文

本文共计668个文字,预计阅读时间需要3分钟。

.NET7中required属性有哪些新变化?

先看看再说。

  还是先看看C#中属性的这定义,在初始化和访问上有哪些方式,就能看出required属性有什么不一样的地方了。

  属性,是封装字段的,通过get和set访问器可以很好地验证数据的有效性。

public record Order_00
{
public Guid Id { get; set; }
private string? _orderNo;
public string? OrderNo
{
get => _orderNo;
set
{
if (!string.IsNullOrEmpty(value) && value.Length >= 8)
{
_orderNo = value;
}
else
{
throw new ApplicationException("OrderNo is error");
}
}
}
public DateTime OrderDate { get; set; }
}

  属性差异访问修饰符,如下面代码,当把Id的set定义成private后,只能在Order_01内访问到,构造也好,内部方法也好,默认值也好,都可以赋值操作,更可以验证。

阅读全文