-6

我想知道,为什么 NotImplementedException(); 即使我很确定我已经调用了该方法,仍然会出现?

这是我的 dsNBC.xsd 设计器中的抛出异常:

internal int getLastIDbyMaxPeg()
{
    throw new System.NotImplementedException();
}

这就是我在名为 Control 的文件夹中调用 PegawaiControl.cs 中的方法的方式:

public int getNumID()
{
     return Peg.getLastIDbyMaxPeg();
}

public string generateIDPeg()
{
    string id = "PEG";
    return id + Convert.ToString(getNumID() + 1);
}

在边界布局中,我只是将 generateIDPeg() 调用到一个局部变量中,如下所示:string idPegw = PC.generateIDPeg();

好吧,getLastIDbyMaxPeg() 是我创建的 dsNBC.xsd 查询数据集中的方法名称。因此,该方法的实际实现代码是数据集中的查询。我在这里感到困惑,如何将查询实现为抛出异常中的实际实现? 您可以在此处查看 StackTrace

你能帮助我吗?

4

2 回答 2

0

您必须删除该代码并将其替换为您的实际实现。
该方法尚未实现(即实际做某事,而不是抛出NotImplementedException),仅调用。

它不仅会自动删除自己,因为您调用该方法,您必须提供实现。

将您的逻辑放在方法中并删除当前行以解决您的情况:

internal int getLastIDbyMaxPeg()
{
    //Do some things
    //return some int value
}
于 2016-10-07T16:17:24.670 回答
0

实际上,您已经调用了 getLastIDbyMaxPeg() 方法,这是问题的根源。

这个异常的意思正是它所说的:在调用 getLastIDbyMaxPeg() 方法之前,您没有实现它。现在 getLastIDbyMaxPeg 所做的只是抛出一个NotImplementedException(). (该例外是需要实现但尚未实现的方法的标准“占位符”)。

如果您替换throw new NotImplementedException()为实际的实现,您的问题将得到解决。

于 2016-10-07T16:50:54.553 回答