C# 如何使用appSettings配置文件中的值,并在构造函数方法中将其用作十进制值?

C# 如何使用appSettings配置文件中的值,并在构造函数方法中将其用作十进制值?,c#,C#,所以我正在完成一个项目。在我对表单进行更多控制之前,一切都很正常,现在看来,我在配置文件中设置的税率在运行时不会被我的构造函数方法接受 编译很好,然后当我从MDi框架打开表单时,我得到这个ArguementNullException处理错误,并弹出一个疑难解答窗口 在做了一些研究之后,我想当我从配置文件中提取密钥时,我没有正确地解析它们,以便我的构造函数在运行时获取它们 这是我写的代码,我没有公布我的整个解决方案,这在这一点上是疯狂的 // sales tax inititalization

所以我正在完成一个项目。在我对表单进行更多控制之前,一切都很正常,现在看来,我在配置文件中设置的税率在运行时不会被我的构造函数方法接受

编译很好,然后当我从MDi框架打开表单时,我得到这个ArguementNullException处理错误,并弹出一个疑难解答窗口

在做了一些研究之后,我想当我从配置文件中提取密钥时,我没有正确地解析它们,以便我的构造函数在运行时获取它们

这是我写的代码,我没有公布我的整个解决方案,这在这一点上是疯狂的

// sales tax inititalization 
        decimal gstTax =     Decimal.Parse(ConfigurationManager.AppSettings.Get("GoodsAndServicesTaxRate."));
        decimal pstTax = Decimal.Parse(ConfigurationManager.AppSettings.Get("ProvincialSalesTaxRate"));
        decimal salesTaxRate = gstTax + pstTax;


        SalesQuote quote = new SalesQuote(Decimal.Parse(txtSalePrice.Text),
                                        (Decimal.Parse(txtTradeIn.Text)),
                                        salesTaxRate,
                                        (Accessories)optA,
                                        (ExteriorFinish)optB);
这是包含键值的XML文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <appSettings>
    <add key="ApplicationName:" value="RRC Automotive Group"/>
    <add key="GoodsAndServicesTaxRate" value=".05"/>
    <add key="ProvincialSalesTaxRate" value=".08"/>
   </appSettings>
</configuration>

是的,有一个装配参考

SalesQuote的签名(十进制、十进制、十进制、枚举、枚举),如果该签名不明显

我想感谢你们这些书呆子们给我的建议。。。据我所知,这一切都很好,所以我不知道是什么在这里欺骗我

任何帮助都有帮助!
谢谢

这里有一个迷路的

ConfigurationManager.AppSettings.Get("GoodsAndServicesTaxRat‌​e.") 
与配置文件中的内容不匹配

<add key="GoodsAndServicesTaxRate" value="0.05"/>


这将导致
ConfigurationManager.AppSettings.Get
方法返回
null
,这将导致解析
Decimal.Parse
失败。

从何处获得参数null异常?在
ConfigurationManager.AppSettings.Get(“goodsandservicestataxrate.”
与配置文件中的内容不匹配OMG新手移动。。。很抱歉在这里浪费你的时间,这实际上并没有解决我的问题。。。。异常指向构造函数。。内容如下……:Fomrat异常未处理:输入字符串格式不正确。(vs2010)在运行时。哪个构造函数?这是一个新的错误。还可以准确地显示错误的位置。@斯奈菲尔德,我能看到的唯一可能出现错误的地方是
Decimal.Parse(txtSalePrice.Text),(Decimal.Parse(txtradein.Text))