.NET7的required属性与之前版本相比有哪些显著差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计670个文字,预计阅读时间需要3分钟。
还是先看看再说。
还是先看看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内访问到,构造也好,内部方法也好,默认值也好,都可以赋值操作,更可以验证。
本文共计670个文字,预计阅读时间需要3分钟。
还是先看看再说。
还是先看看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内访问到,构造也好,内部方法也好,默认值也好,都可以赋值操作,更可以验证。

