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

c# – 错误消息Nullable对象必须具有值

我在运行时在DTO对象上有一个null错误

我不明白,因为列可以为空:

[DataContract]
public class SearchParametersCompanyDTO
{
    public SearchParametersCompanyDTO();

    [DataMember]
    public CompanyColumnsEnumDTO? Column { get; set; }
    [DataMember]
    public int PageIndex { get; set; }
    [DataMember]
    public int PageSize { get; set; }
    [DataMember]
    public string Term { get; set; }
}

[DataContract]
public enum CompanyColumnsEnumDTO
{
    [EnumMember]
    CompanyName = 0,[EnumMember]
    City = 1,[EnumMember]
    PostCode = 2,}

它必须是转换问题,因为在Column上接受null:

var dto = new SearchParametersCompanyDTO
        {
            PageIndex = pageIndex,PageSize = defaultPageSize,Term = term,Column = null
        };

任何的想法?

解决方法

您正在尝试将空值转换为枚举类型(而不是可以为空的枚举类型).我猜你真的想把你的演员变成:
Column = (CompanyColumnsEnumDTO?) column

原文地址:https://www.jb51.cc/csharp/238944.html

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

相关推荐