NotImplementedException未处理,但删除了抛出新的'NotImp ..'行

时间:2017-04-03 18:41:16

标签: c# visual-studio web-services

所以我正在尝试(读取:失败)的简要概要:我正在创建一个Web服务,它将客户的信用卡信息输入到我的表单中的文本框中(“UserName”,“Password”) ,“TransType”等)并将它们传递给另一家处理我们信用卡交易的公司网络服务。

using IntegrityWebService.SmartPaymentsService;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace IntegrityWebService
{
    public partial class Form1 : Form
    {
        private string MagData;
        //public static string transactResponse;
        public Form1()
        {
            InitializeComponent();
        }

        private void btnSubmit_Click(object sender, EventArgs e)
        {
            SmartPaymentsSoapClient transact = new SmartPaymentsSoapClient();
            transact.ProcessCreditCard(UserName, Password, TransType, CardNum, ExpDate, MagData, NameOnCard, Amount, InvNum,
                PNRef, Zip, Street, City, State, CVNum, ExtData);  


        }

所以这里是我的“throw new NotImplementedException();”线,但我摆脱它,仍然问题仍然存在。真的不确定我在这里做错了什么。它突出了上面前两行中的“交易”。这是我需要申报的吗?我非常困惑和感激任何在这里给我任何帮助的人。我很遗憾接受了我的老板的挑战,他知道我以前从未做过任何webservice / SOAP工作。

/*private void ProcessCreditCard(TextBox userName, TextBox password, ComboBox transType, TextBox cardNum, TextBox expDate, string magData, TextBox nameOnCard, TextBox amount, TextBox invNum, TextBox pNRef, TextBox zip, TextBox street, TextBox city, TextBox state, TextBox cVNum, TextBox extData)
    {

    }*/
}

为什么我仍然会收到NotImplementedException错误?

1 个答案:

答案 0 :(得分:0)

如果在非抽象类中实现接口,则必须编写每个函数。编译器无法猜测您的意图,而接口函数极有可能具有返回值,因此它只是为每个函数编写这个:

throw new NotImplementedException();

技术上的例外计算为返回值。这样它就可以编译。但是每个调用该函数的人都会得到一个有意义的信息 - 作者忘了实际上实现这个功能。

SmartPaymentsSoapClient显然实现了一个接口,该接口指示ProcessCreditCard函数在那里。但是在写这门课时从未定义过。 在Soap客户端中删除该行意味着它的代码无法再编译。所以你正在使用的是可靠的编译过程。

使用Exceptions,我们需要知道它发生的确切行。以及Type,Message和完整的Stacktraces(获取它的最简单方法是Exception.ToString())