C# 无效的初始值设定项成员声明符

C# 无效的初始值设定项成员声明符,c#,asp.net,wcf,C#,Asp.net,Wcf,我试图检查从SQL返回的字段是否为null,但我一直在isDBNull上获取“无效的初始值设定项成员声明符” 这是我的密码,是什么原因造成的 while (dr.Read()) { staff.Add(new Staff() { id = dr.GetInt32(dr.GetOrdinal("id")), dr.IsDBNull(dr.GetOrdinal("NAME")) ? null : dr.GetString(dr.GetOrdinal("

我试图检查从SQL返回的字段是否为null,但我一直在isDBNull上获取“无效的初始值设定项成员声明符”

这是我的密码,是什么原因造成的

while (dr.Read())
{
    staff.Add(new Staff()
    {
        id = dr.GetInt32(dr.GetOrdinal("id")),
        dr.IsDBNull(dr.GetOrdinal("NAME")) ? null : dr.GetString(dr.GetOrdinal("NAME")),

        PARENT = dr.GetString(dr.GetOrdinal("PARENT")),
        VALUE = dr.GetString(dr.GetOrdinal("VALUE")),
        VALUETYPE = dr.GetString(dr.GetOrdinal("VALUETYPE"))
    });
}

不确定在初始化成员变量时是否可以执行条件语句。实际上,您正在尝试调用构造函数,该构造函数初始化成员变量

最简单的方法可能是显式创建对象,然后将其添加到集合中

Staff staff= new Staff();
将值分配给对象,您可以在其中检查
NULL
值,然后分配属性。否则,将值作为
dr[“Name”]
传递给构造函数,并在构造函数内处理检查


希望这有帮助。

不确定在初始化成员变量时是否可以执行条件语句。实际上,您正在尝试调用构造函数,该构造函数初始化成员变量

最简单的方法可能是显式创建对象,然后将其添加到集合中

Staff staff= new Staff();
将值分配给对象,您可以在其中检查
NULL
值,然后分配属性。否则,将值作为
dr[“Name”]
传递给构造函数,并在构造函数内处理检查


希望这有帮助。

确保所有属性都在
{}
e、 g

PropertyName=dr.IsDBNull(dr.GetOrdinal(“名称”))?null:dr.GetString(dr.GetOrdinal(“名称”)),

确保所有属性都在
{}
e、 g

PropertyName=dr.IsDBNull(dr.GetOrdinal(“名称”))?null:dr.GetString(dr.GetOrdinal(“名称”)),

请查看此线程:您的意思是
Name=dr.IsDBNull(…
请查看此线程:您的意思是
Name=dr.IsDBNull(…