C#实现类别和子项

时间:2011-02-23 07:41:30

标签: c#

在我的应用程序中,我维护类别。每个类别都有一些属性,这些属性会影响属于该类别的项目。这样的项目只能属于一个类别。该类别现在包含三个属性,并确定可以为项目设置哪些属性。

例如:类别A表示无法复制某些内容。然后,位于类别A下的项目必须隐藏客户端的复制属性。在GUI中,复制复选框也必须是不可见的。

项目始终属于同一类型。

实施此方法的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

你的问题有点模糊,但我会用接口做这样的事情。例如,您可以拥有ICanCopy接口。如果对象实现了此接口,则可以在UI上显示复制复选框。

在你的例子中,你也可以创建一个ICannotCopy界面,然后隐藏控件,但这对我来说似乎是违反直觉的,我永远不会那样建模。

编辑:经过一些澄清后,我建议你研究一下装饰模式:http://www.dofactory.com/Patterns/PatternDecorator.aspx