【问题标题】:How can i throw exception to the value from app.config file如何对 app.config 文件中的值抛出异常
【发布时间】:2016-05-16 21:09:11
【问题描述】:

据说我从 app.config 文件中导入销售税率。在我的 app.config 文件中,我有两个税值 GST 和 PST。如何将此字符串值导入我的程序代码并转换为十进制值然后添加它。我已经完成了,我收到了抛出异常的错误。我怎么能抛出异常?提前感谢您的帮助。

public decimal SalesTax 
        {
            get
            {
                decimal rateGST = Decimal.Parse(ConfigurationManager.AppSettings["rateGST"]);
                decimal ratePST = Decimal.Parse(ConfigurationManager.AppSettings["ratePST"]);
                return Subtotal * (rateGST + ratePST);
            }
        }

我的 App.config 文件如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>

    <!--Government Sales Tax-->
    <add key ="rateGST" value="5"/>

    <!--Provincial Sales Tax-->
    <add key="ratePST" value="8"/>

  </appSettings>
</configuration>

【问题讨论】:

  • 抛出了什么异常?如果分配有问题,还可以考虑在 if 语句中使用 Decimal.TryParse。您还确定小计处于有效状态吗?
  • Hie Subtotal 是我的属性,它给出十进制值,我收到错误:值不能为空。参数名称:字符串

标签: c# winforms unit-testing app-config


【解决方案1】:

试试下面的

using System;
namespace demo
{
    class Class1
    {
        public decimal Subtotal { get; set; } //= 5;
        public decimal SalesTax
        {
            get
            {
                decimal rateGST = Decimal.Parse(Properties.Settings.Default.rateGST);
                decimal ratePST = Decimal.Parse(Properties.Settings.Default.ratePST);
                decimal result = Subtotal * (rateGST + ratePST);
                return result;
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 2014-11-01
    • 1970-01-01
    • 2011-12-07
    • 2016-12-25
    • 2014-10-04
    • 2013-05-24
    • 2021-02-04
    • 1970-01-01
    相关资源
    最近更新 更多