【发布时间】:2015-12-14 21:22:41
【问题描述】:
我有这种方法,如果SPListItem 的某个字段是null,我会检查几次,如果是,则为该属性写入默认值。有什么办法可以减少这段代码吗?谢谢
public List<Models.EmployeeInfo> GetEmployeeInfo(SPListItemCollection splic)
{
List<Models.EmployeeInfo> listEmployeeInfo = new List<Models.EmployeeInfo>();
foreach (SPListItem item in splic)
{
var employeeInfo = new Models.EmployeeInfo();
if (item["EmployeeName"] == null)
{
employeeInfo.EmployeeName = "";
}
else
{
employeeInfo.EmployeeName = item["EmployeeName"].ToString();
}
if (item["Position"] == null)
{
employeeInfo.Position = "";
}
else
{
employeeInfo.Position = item["Position"].ToString();
}
if (item["Office"] == null)
{
employeeInfo.Office = "";
}
else
{
employeeInfo.Office = item["Office"].ToString();
}
if (item["IsPublic"] == null)
{
employeeInfo.IsPublic = true;
}
else
{
employeeInfo.IsPublic = Convert.ToBoolean("IsPublic");
}
listEmployeeInfo.Add(employeeInfo);
}
return listEmployeeInfo;
}
【问题讨论】:
-
我认为您应该尝试使用CodeReview 服务
-
最后一个应该是
Convert.ToBoolean(item["IsPublic"])吗?它不匹配所有其他人 -
SPList 的代码是什么?
-
如何将这些检查和设置默认值放入您的模型设置器中。在我看来它更干净
-
@HankMooody:如果您确实采用 Reflection 方法(由您接受的答案表示),那么link about Reflection in C# 将很有用。
标签: c#