.Net,WinForms中的UITypeEditor和readonly引用类型属性

时间:2010-02-20 10:03:42

标签: c# .net vb.net readonly uitypeeditor

我认为我已经修改了类型编辑器和转换器,直到我在UITypeEditor中编辑后尝试保留Readonly Reference类型属性。

在我的UITypeEditor中,因为我正在使用只读属性,所以我要小心传回原始值(在更新相关子属性之后)。

此更改会立即反映在设计器上,但不会保留,除非我执行类似调整附加属性的控件的操作。

为了解决这个问题,我盲目地在返回值之前包含对context.OnComponentChanged()的调用。

我明白为什么需要这样做。它是一个引用类型,我已经改变了它(没有替换它),并且属性网格不知道这一点。我有几个问题需要澄清:

我是否需要调用context.OnComponentChanging?对OnComponentChanged的一个简单调用在我到目前为止所做的测试中起作用,但我不想在将来某个时候咬屁股。

另外,有没有危险,在我调用OnComponentChanging时,我会在DesignerTransactions中保留其他组件,我不应该坚持下去?

0 个答案:

没有答案