我想知道,为什么NotImplementedException();即使我很确定我已经调用了这个方法,但仍然会出现?
这是我的dsNBC.xsd设计器中的throw异常:
internal int getLastIDbyMaxPeg()
{
throw new System.NotImplementedException();
}
这就是我在PegawaiControl.cs中调用名为Control的文件夹中的方法:
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的查询数据集中的方法名称。所以该方法的实际实现代码是数据集中的查询。我在这里消费了如何实现查询作为throw异常中的实际实现? You can see the StackTrace here
你能帮帮我吗?答案 0 :(得分:0)
您必须删除该代码并将其替换为您的实际实施
该方法尚未实现(即实际做某事,而不是抛出NotImplementedException
),仅被调用。
它不会自动删除自己,因为你调用方法,你必须提供实现。
将您的逻辑放在方法内并删除当前行以修复您的情况:
internal int getLastIDbyMaxPeg()
{
//Do some things
//return some int value
}
答案 1 :(得分:0)
你确实调用了getLastIDbyMaxPeg()方法,这是你问题的根源。
此异常意味着它所说的内容:在调用之前,您没有实现getLastIDbyMaxPeg()方法。现在所有getLastIDbyMaxPeg都抛出一个NotImplementedException()
。 (该例外是一个标准的"占位符"对于需要实施但尚未实施的方法。)
如果您将throw new NotImplementedException()
替换为实际实施,则问题将得到解决。