Tag: componentmodel

如何在后续代中禁用派生类中的设计器

为了在类中禁用组件设计器,只需向其添加[System.ComponentModel.DesignerCategory(“”)]属性即可,但它不适用于任何代中从此类派生的任何类。 例如: [System.ComponentModel.DesignerCategory(“”)] public class A:ServiceBase { } //Designer is disabled here public class B:A {} //Designer is enabled here [System.ComponentModel.DesignerCategory(“”)] public class B:A {} //Designer is enabled here too [System.ComponentModel.DesignerCategory(“Code”)] public class B:A {} //Designer is enabled even here 当然,这发生在任何其他世代和排列中。 例如 //Whatever attribute here public class C:B {} //Designer is enabled here 有没有人试图摆脱它? 为什么组件模型尝试添加设计器支持,即使它在第一代中明确禁用? […]

IEditableObject和IRevertibleChangeTracking有什么区别?

IEditableObject和IRevertibleChangeTracking (两者都来自System.ComponentModel命名空间)有什么区别? 看起来第一个支持显式事务,而第二个支持更隐式 – 但最终结果是相同的。 我应该如何在代码中实现它? 目前我在BeginEdit中什么都不做,并分别在EndEdit和CancelEdit中调用RejectChanges和AcceptChanges 。 我的问题是,这也将接受在B​​eginEdit之前所做的更改。 这真的是微软想要的,还是我试图实现两个互斥的接口?