0

DevExpress XAF フレームワークを使用しています。

Persistent Aliasプロパティでいくつかの計算を行う多くの属性を持つクラスがあります。これが私のコードの例です:

[PersistentAlias("ShortTermDebt + LongTermDebt / EquityTotal")]
public decimal DebtEquity
{
    get
    {
        return decimal.Parse(EvaluateAlias("DebtEquity").ToString());
    }
}

プロパティを = 1 に設定しようとしました

return DebtEquity = 1;

ただし、これは保存時にプロパティを 1 にリセットするだけです。

各プロパティの SQL Server の既定値を 1 に設定しようとしましたが、これも機能しません。

基本的に、私は一連の計算を行う Detailview を持っています。そして、NEW Detail View を作成したい場合、もちろん NEW Detail View/Object には値がないため、DivideByZeroException が発生します。これを回避する方法はありますか?

4

2 に答える 2

3

EquityTotal の値を取得できる場合は、最初にゼロをチェックできます。それ以外の場合は、例外をキャッチできます。

最初にチェック値を使用する例:

[PersistentAlias("ShortTermDebt + LongTermDebt / EquityTotal")]
public decimal DebtEquity
{
    get
    {
        if (EquityTotal == 0) return 0;  // return 0 or whatever number you want when EquityTotal is equal to zero
        return decimal.Parse(EvaluateAlias("DebtEquity").ToString());
    }
}

例外をキャッチする例:

[PersistentAlias("ShortTermDebt + LongTermDebt / EquityTotal")]
public decimal DebtEquity
{
    get
    {
        try
        {
            return decimal.Parse(EvaluateAlias("DebtEquity").ToString());
        }
        catch (DivideByZeroException)
        {
            return 0;  // return 0 or whatever number you want when EquityTotal is equal to zero
        }
    }
}
于 2015-02-03T21:20:26.187 に答える