这真的非常让我感到高兴,所以我希望有人可以给我一个合理的理由来解释为什么事情就像他们一样.
NotImplementedException. 你拉我的腿吧?
不,我不打算通过说,"坚持,方法实现 - 它会抛出NotImplementedException".是的,没错,你必须实现抛出NotImplementedException的方法(不像C++中的纯虚函数调用 - 现在才有意义!).虽然这很可笑,但在我看来还有一个更严重的问题.
我只是想知道,在存在NotImplementedException的情况下,任何人都可以用.Net做任何事情?您是否希望使用try catch块包装每个抽象方法调用以防止可能未实现的方法?如果你遇到这样的例外,你应该怎么做呢?
我认为没有办法测试一个方法是否在没有调用的情况下实际实现.因为调用它可能有副作用,我不能提前完成所有检查,然后运行我的算法.我必须运行我的算法,捕获NotImplementedExceptions以及一些如何将我的应用程序回滚到一些理智的状态.
这很疯狂.狂.疯.所以问题是: 为什么存在NotImplementedException?
作为先发制人的罢工,我不希望任何人回应,"因为设计师需要将其放入自动生成的代码中." 这太可怕了.在您提供实现之前,我宁愿不编译自动生成的代码.例如,自动生成的实现可能是"throw NotImplementedException;" 其中未定义NotImplementedException!
有没有人捕获并处理过NotImplementedException?你有没有在你的代码中留下NotImplementedException?如果是这样,这是代表定时炸弹(即,你不小心将它留在那里),还是设计缺陷(该方法不应该实施,永远不会被调用)?
我也非常怀疑NotSupportedException ...不支持?什么?如果它不受支持,为什么它是你的界面的一部分?微软的任何人都可以拼写不正当的继承吗?但是如果我对这个问题没有太多的滥用,我可能会提出另一个问题.
附加信息:
这是一个有趣的读物.
似乎与Brad Abrams有一个强烈的一致意见,"NotImplementedException是针对尚未实现的功能,但实际上应该(并且将会是).类似于在构建类时可能开始的内容,获取所有方法抛出NotImplementedException,然后用实际代码刷新它们......"
来自Jared Parsons的注释非常弱,应该可以忽略:NotImplementedException:当类型由于任何其他原因没有实现方法时抛出此异常.
在MSDN上的主题更弱,只是说,"当一个请求的方法或操作未实现时引发的异常."
.net exception-handling exception notimplementedexception notsupportedexception
我正在创建一个ASP.NET MVC应用程序.由于复杂的授权,我正在尝试构建自己的登录系统.我没有使用ASP.NET成员资格提供程序和相关的类)
我可以使用散列密码在数据库中创建新帐户.
如何跟踪用户是否已登录?
生成一个长的随机数并将其与userID放在数据库和cookie中吗?
一个非常简单的问题,也许有人像我一样有一个MVC初学者的小费.我想密码保护MVC应用程序 - 只需要用户/密码 - 我是通过ASPNETDB和SqlMembershipProvider完成的,但应该有希望更简单的方法 - 在webforms中我通过向web.config添加用户/密码来实现.
我真的需要编写自己的XmlMembershipProvider来解决这个问题吗?如果是的话,你知道一个非常简单的现有XmlMembershipProvider可以为我做这个吗?提前谢谢了..