C# NotImplementedException,但已在C中调用该方法#

C# NotImplementedException,但已在C中调用该方法#,c#,visual-studio,notimplementedexception,C#,Visual Studio,Notimplementedexception,我想知道,为什么NotImplementedException();即使我很确定我已经调用了该方法,仍然会出现吗 这是我的dsNBC.xsd设计器中的抛出异常: internal int getLastIDbyMaxPeg() { throw new System.NotImplementedException(); } 这就是我如何在名为Control的文件夹中调用PegawaiControl.cs中的方法: public int getNumID() { return P

我想知道,为什么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()

GetLastIDByMapEG()是我创建的dsNBC.xsd查询数据集中方法的名称。因此,该方法的实际实现代码是dataset中的查询。我在这里了解到,如何在抛出异常中实现查询作为实际实现?


你能帮我吗

您必须删除该代码并用实际实现替换它。
该方法尚未实现(即,使其实际执行某些操作,而不是抛出
NotImplementedException
),仅调用

它不仅会因为调用方法而自动删除自身,还必须提供实现

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

internal int getLastIDbyMaxPeg()
{
    //Do some things
    //return some int value
}

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

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


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

如果调用该方法,并且该方法所做的唯一事情就是抛出异常,那么您将得到异常。。。您需要删除抛出新系统的
NotImplementedException()行并在那里实现您自己的代码是占位符文本。你需要从该方法返回一些int。你能在你的问题中添加异常的堆栈跟踪吗?另一个用于“为什么它会按照我告诉它的那样做,请使它停止”标记。这是真实的吗?但是GetLastIDByMapEG()是我在数据集中创建的方法的名称,用于从数据库中查找最后一个max id,因此代码就是查询。。。这就是为什么在getLastIDByMapEG()前面有一个“Peg”。因为Peg是tableAdapter的变量。。。当代码本身是数据集的查询时,如何将代码放入内部int getLastIDByMapEG@危险地带这是一个完全不同的问题。您需要研究如何在C#中执行查询,并将查询置于此方法中。