问题描述
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
中继承 AllowNullAttribute
但 AllowNullAttribute
是密封的(我什至不确定我是否能够成功继承 AllowNullAttribute
,警告会消失)。
要求类的实现者除了用 AllowNull
还用 Parameter
装饰每个属性是荒谬的。此外,要求他们在类级别禁用此警告会干扰他们的内部实现。
如果属性用 [Parameter]
修饰,是否有关于隐藏此警告的建议?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)