有些组件(比如名字是MyComponent),拖到设计界面上之后,其他控件的属性框里就会多一个“MyComponent...”的属性,请问这是什么原理?
这种组件使用的模式叫做“装饰模式”,类似于生活中装修一样,你一个房子,把相框钉在哪儿,就可以在哪儿放上相片。
具体你可以参考
C#设计模式之装饰者模式(Decorator Pattern)
理解了原理以后,实现其实并不是特别的难。
大概是原理就是在类里面实现一个列表Dictionary(Key, Value)这样,然后对于其他组件的属性赋值其实是保存这个组件的这个变量里面。这样不知道够不够清楚。
变成了子对象,要使用这个子对象,需要一个名字,就是这个意思。
其实人家想问是怎么实现的。