首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >csla验证错误:插入操作无效

csla验证错误:插入操作无效
EN

Stack Overflow用户
提问于 2015-01-23 19:15:47
回答 2查看 594关注 0票数 2

我是csla验证的新手,在验证规则上有一个问题要解决。

这个场景是,我正在尝试根据来自服务器的响应来更新客户端上的集合。

出现“不支持的异常”的类是从"csla BusinessBase“派生的。

在设置属性时,我们使用了HAsPropertyChanged()方法,在该方法上,error as insert是一个无效操作,Remove是一个无效操作。

堆栈跟踪如在Csla.Core.ReadOnlyBindingList1.InsertItem(Int32 index, C item) at System.Collections.ObjectModel.Collection1.Add(T项)在Csla.Validation.BrokenRulesCollection.Add(IRuleMethod规则)在Csla.Validation.ValidationRules.CheckRules(List`1 list)在Csla.Validation.ValidationRules.CheckRules(String propertyName)在Csla.Core.BusinessBase.PropertyHasChanged(String propertyName)

对于它工作的一些进程,场景并不完全清楚,对于某些响应,它不能执行HasPropertyChanged,尽管在这两种情况下,值是相同的。

我不确定在哪里实现该方法以及如何实现该方法。您能提供您宝贵的建议吗?

EN

回答 2

Stack Overflow用户

发布于 2015-08-25 16:29:25

我不确定你是否还在寻找答案,但它可能会帮助那些遇到类似使用ReadOnlyBindingList的issue......Instead的人使用BusinessBinidngListBase。

ReadOnlyBindingList as name状态不支持添加和删除操作。

只是想说清楚。插入无效操作不是验证错误。在您的示例中,验证通过,CSLA调用ReadOnlyBindingList的Insert方法,该方法抛出无效操作异常。

票数 2
EN

Stack Overflow用户

发布于 2021-12-02 22:38:01

我知道这是旧的,但是对于将来可能有这个问题的其他人,可以尝试“使用SuppressListChangedReadOnlyEvents":例如:

代码语言:javascript
复制
list

secondlist

Using secondlist.SuppressListChangedReadOnlyEvents
  For each item in list
    secondlist.add(item)
  End If
End Using
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28108694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档