将可为空的值放入表适配器中 - 有没有更好的方法

本文关键字:适配器 有没有 方法 更好 | 更新日期: 2023-09-27 18:36:12

我发现自己经常做以下事情:

if (groupid.HasValue)
{
    row.GroupId = group.Value;
}
else
{
    row.SetGroupIdNull();
}

有没有更好的方法来做到这一点(重载等),这样我就不会在我的项目中重复几百次?

将可为空的值放入表适配器中 - 有没有更好的方法

您仍然需要在任何地方进行编辑,但以下代码稍微干净一些:

row.GroupId = groupid ?? [what ever SetGroupIdNull() does];

虽然如果row.GroupId为空,你应该能够只做:

row.GroupId = groupid;

这个呢:

row.GroupId = groupid.HasValue ? group.Value : null;

或者更好的是这样的:

row.SetGroupId(group);

其中 SetGroupId 可以定义为 Row 类的扩展方法(如果您无权访问它):

public void SetGroupId(Group group){
   if (groupid.HasValue)
   {
       row.GroupId = group.Value;
   }
   else
   {
       row.SetGroupIdNull();
   }
} 

SetGroupIdNull()方法有什么作用?