检查类的所有属性是否为null

Tal*_*Tal 0 c# class

我有以下代码,应该检查类的所有属性是否为null.我尝试了下面的代码,但它没有用.为什么? 在此输入图像描述

Pat*_*man 6

您可以创建一个属性IsInitialized,在内部执行此操作:

public bool IsInitialized
{
    get
    {
        return this.CellPhone == null && this.Email == null && ...;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后查看属性IsInitialized:

if (myUser == null || myUser.IsInitialized)
{ ... }
Run Code Online (Sandbox Code Playgroud)

另一个选择是使用反射来走过并检查所有属性,但这对我来说似乎有些过分.此外,这使您可以自由地偏离原始设计(当您选择所有属性时,除了一个应该为null之外).

  • 通过反射,我会使用方法而不是属性来表明它不是微不足道的.但无论如何,手动方法非常好.但是,我会使用一个更有意义且更灵活的名称,如"IsInitialized". (2认同)