.Net:有没有更好的方法来检查对象的属性为空或空字符串?

Jac*_*ack 0 .net vb.net

我正在使用FileHelper生成对象的属性.以下是一个属性的示例:

<FieldOptional(), _
 FieldTrim(TrimMode.Both)> _
 <FieldNullValue(GetType(String), " ")> _
Public StoreNo As String
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,StoreNo将具有值或"",其中一个业务策略是检查StoreNo是否为空,如果对象的StoreNo为空或null,则检查是否为空,则该记录将不会创建.

我想在类中创建一个HasValue函数来检查对象中的StoreNo和其他属性,但我觉得它是一个黑客.

Public Function HasValue() As Boolean

    Dim _HasValue As Boolean = True

    If StringHelper.IsNullOrBlank(Me.StoreNo) Then
        _HasValue = False
    End If

    Return _HasValue
End Function
Run Code Online (Sandbox Code Playgroud)

我不认为这种方法是一种理想的解决方案.如果StoreNo被移除或更改为其他内容,该怎么办?检查对象属性的最佳方法是什么?

Nol*_*rin 7

不确定它完全回答了你的问题,但你的HasValue功能非常令人费解.它可以简化为以下内容:

Public Function HasValue() As Boolean
    Return Not String.IsNullOrEmpty(Me.StoreNo);
End Function
Run Code Online (Sandbox Code Playgroud)

但是,当String.IsNullOrEmptyBCL中存在自定义函数时,为什么还要费心呢?