微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可空引用类型允许 null 和 AllowNullAttribute

如何解决可空引用类型允许 null 和 AllowNullAttribute

public class Child : Parent
{
    [Parameter("Name",DefaultValue = "John")]
    public override string Name { get; set; }

    // More than 5 similar properties and methods ...
}

考虑启用可空引用类型的 C# 8 中的上述类。 Child 类位于应该由 3rd 方开发人员实现的插件中,开发人员将继承 Parent(框架的一部分)并可能添加一些特定的实现。

Name 属性将在通过激活完成的类的构造中填充。

目前我收到一个不可为空的属性未初始化警告,当我用 [AllowNull] 装饰名称时,警告消失了,正如预期的那样。

但是,作为框架一部分的属性 [Parameter] 实现保证将初始化此属性。 我尝试在 Parameterattribute 中继承 AllowNullAttributeAllowNullAttribute 是密封的(我什至不确定我是否能够成功继承 AllowNullAttribute,警告会消失)。

要求类的实现者除了用 AllowNull 还用 Parameter 装饰每个属性是荒谬的。此外,要求他们在类级别禁用此警告会干扰他们的内部实现。

如果属性[Parameter] 修饰,是否有关于隐藏此警告的建议?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。