检查对象的任何属性是空还是空的最佳方法是什么?

时间:2015-06-08 20:29:44

标签: c# asp.net .net json properties

我正在创建Json文件,在创建之前我想检查是否有任何属性为空而不是..我想为此创建抽象方法。所以我不必一次又一次地写。

public JObject CreatUserJson(Account lacc)
        {
            JObject pin = new JObject(
                new JProperty("email", lacc.email),
                new JProperty("fullname", lacc.fullname),
                new JProperty("phonenumber", lacc.phonenumber),
                new JProperty("ip_address", lacc.ip_address),
                new JProperty("password", lacc.password),
                new JProperty("client_id", Settings.Globals.CLIENT_ID),
                new JProperty("client_secret", Settings.Globals.CLIENT_SECRET)

        );
            return pin;
        }

这是我定义我的方法的方法,并且有类似这样的方法,我想要标准的方法来检查并抛出异常,如果缺少任何值..

public JObject IncomingWireNoticeJson(SyanpasePayLib.Resources.Wire lWire)
        {
            JObject pin = new JObject(
                new JProperty("amount", lWire.amount),
                new JProperty("status_url", lWire.status_url),
                new JProperty("memo", lWire.memo),
                new JProperty("oauth_consumer_key", lWire.oauth_consumer_key)
                );
            return pin;
        }

这是方法的另一个例子,没有相似之处。我只是想循环并抛出异常,如果缺少任何值。

例如,我知道CreatUserJson我需要最少4个输入和最多8个输入..

同样适用于IncomingWireNoticeJson我需要最少2个输入和最多4个输入..

如果范围大于或小于最小值和最大值,那么它应该抛出错误..(这部分我可以管理,但我不知道如何定义循环通过此对象的标准方式)
有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我认为JObject有一个名为Properties()的方法。因此,您可以遍历结果并检查值是否为空。

{{1}}

如果使用Properties()方法,最小和最大检查也很容易。 使用Linq也可以轻松地重写示例,但为了解释和扩展逻辑目的,我编写了正常版本。