小编Avn*_*ann的帖子

属性不应返回数组

是的,我知道之前已经讨论了很多次,我阅读了有关这个问题的所有帖子和评论,但似乎仍然无法理解.

MSDN提供的解决此违规的一个选项是在访问属性时返回一个集合(或由集合实现的接口),但显然它无法解决问题,因为大多数集合不是不可变的,也可以改变了.

我在这个问题的答案和评论中看到的另一种可能性是使用ReadOnlyCollection封装数组并返回它或它的基本接口(如IReadOnlyCollection),但我不明白这是如何解决性能问题的.

如果在任何时候引用该属性,它需要为封装数组的新ReadOnlyCollection分配内存,那么与返回原始副本相比,有什么区别(以性能问题的方式,不是编辑数组/集合)阵列?

此外,ReadOnlyCollection只有一个带有IList参数的构造函数,因此需要在创建数据之前用数据包装数组.

如果我故意想在我的类中使用数组(而不是作为不可变集合),那么当我为ReadOnlyCollection分配新内存并用它封装我的数组而不是返回数组的副本时,性能是否更好?

请澄清一下......

.net c#

13
推荐指数
2
解决办法
2514
查看次数

模态关闭后捕获Angular Bootstrap UI $ uibModal关闭事件

我正在使用来自另一个控制器的$ uibModal.open打开一个模态窗口,并且需要在模态窗口完全关闭时通知(而不是在关闭期间...)所以我将能够运行一个函数.

打开模态的代码如下:

var modalInstance = $uibModal.open({
  templateUrl: "myModalContent.html",
  controller: "termModalCtrl",
  windowClass: 'app-modal-window',
  resolve: {
    'params': function () { return id }
  }
});
Run Code Online (Sandbox Code Playgroud)

我看到了一些建议的解决方案:

modalInstance.result.then(function(result) {
});
Run Code Online (Sandbox Code Playgroud)

问题是在实际关闭模态窗口之前调用函数回调(当模态窗口仍然打开时),这不是我想要的行为,因为它意味着它捕获"关闭"事件而不是"封闭的"模态事件".

有一个简洁明了的方法来实现这个吗?如果没有,我会感到惊讶,因为这种行为在地球上的任何UI框架中都很常见......

请帮忙!

javascript modal-dialog angularjs angular-ui-bootstrap angular-ui-modal

12
推荐指数
1
解决办法
2万
查看次数