以有效的方式对所有班级成员进行无效检查

时间:2017-08-23 15:45:29

标签: c# wcf

在WCF服务中工作。我有一个名为Customer的课程,有10个字段。我想确保至少有一个应该有价值。

不幸的是,该类不是null,但是所有类成员在输入请求中都是null

是否有任何简单有效的方法来检查确认至少有一个类字段有价值,而不是检查field1.IsnotNullOrEmpty() & field2.IsnotnullOrEmpty()......field10.IsnotNullOrEmpty()

1 个答案:

答案 0 :(得分:0)

您可以迭代这样的所有属性(只是简短的代码示例)

bool HasValue<T>(T obj)
{
    var type = typeof(T);
    return type.GetProperties().Where(p =>
    {
        var val = p.GetValue(obj);
        if (val is string) return !string.IsNullOrEmpty(val as string);
        return val != null;
    }).Any();
}

但正如所说,你的方式更简单,更有效率。