技术开发 频道

.NET 时代里的AOP


   命名惯例就是:Get/Set +[使用在ProvidePropertyAttribute中的属性名称]。GetXX返回值必须与SetXX方法的value参数相匹配。如果只实现目前为止三所显示的代码(外加private领域来保存值),我们将Base控制器放在Web窗体上,在属性浏览器中将看到下面的新属性被放到了页面的任何控件中。



   注意:使用被应用在GetWebView Mapping方法的Category 以及Description属性时,就好像它们被应用到一个常规属性一样。Get总是对所有通常属性特性负责。

    因为属性的状态被保存在控件外面,在构件内部,target参数(两种方法都接受到的)允许我们决定属性被访问的对象。我们通常用一个被配置的属性为每一个控件保存散列表。而且,仅仅一个单值不足以保存我们的信息,因此我们创建另一个类型来保存设置。在我们的情况中,此类型就是ViewInfo类型。这个类型包含下面的属性:ControlID, ControlProperty, Model 以及ModelProperty.它们都是字符串,将被用于与被配置的控件来同步化模式值。如果属性不是一个简单的类型,通过指定一个附带有类型的特殊类型传换器,我们可以提供改良的属性浏览器集成。

[TypeConverter(typeof(ExpandableObjectConverter))] 
public class ViewInfo
   System.ComponentModel命名空间里有这个传换器,这个转换器促使属性浏览器显示如下属性:




0
相关文章