当前位置: 首页 > news >正文

产品展示类网站wordpress如何上传附件

产品展示类网站,wordpress如何上传附件,国家企业网,吴江住房城乡建设局网站14.3.2 特定类约束 ​ 如果您的泛型类需要使用某个特定子集的类#xff08;特定层次结构#xff09;#xff0c;则可能需要根据给定基类指定约束。 ​ 例如#xff0c;如果您声明#xff1a; typeTCompClassT: TComponent class​ 则此泛型类的实例仅适用于组…14.3.2 特定类约束 ​ 如果您的泛型类需要使用某个特定子集的类特定层次结构则可能需要根据给定基类指定约束。 ​ 例如如果您声明 typeTCompClassT: TComponent class​ 则此泛型类的实例仅适用于组件类即任何TComponent后代类。这使您拥有一个非常特定的泛型类型是的听起来很奇怪但这确实是它的实际情况并且编译器将允许您在处理泛型类型时使用TComponent类的所有方法。 ​ 如果这看起来非常强大那么请三思。如果你考虑一下利用继承和类型兼容规则可以实现的功能也许你可以使用传统的面向对象技术来解决同样的问题而不必使用泛型类。我并不是说特定的类约束从来都没有用但它肯定没有更高级别的类约束或我觉得非常有趣的基于接口的约束强大。 14.3.3 接口约束 ​ 一般来说更灵活的做法是只接受实现特定接口的类作为类型参数而不是将一个泛型类约束为一个给定的类。这样就可以在泛型的实例上调用接口。在 C# 语言中将接口约束用于泛型也很常见。让我先展示给你一个示例来自IntfConstraint示例。首先我们需要声明一个接口 typeIGetValue interface[{60700EC4-2CDA-4CD1-A1A2-07973D9D2444}]function GetValue: Integer;procedure SetValue(Value: Integer);property Value: Integer read GetValue write SetValue;end;​ 接下来我们可以定义一个实现它的类 typeTGetValue class(TNoRefCountObject, IGetValue)privateFValue: Integer;publicconstructor Create(Value: Integer 0);function GetValue: Integer;procedure SetValue(Value: Integer);end;​ 在限制为实现特定接口的类型的泛型类的定义中事情开始变得有趣 typeTInftClassT: IGetValue classprivateFVal1, FVal2: T; // Or IGetValuepublicprocedure Set1(Val: T);procedure Set2(Val: T);function GetMin: Integer;function GetAverage: Integer;procedure IncreaseByTen;end;​ 请注意在这个类的泛型方法的代码中我们可以编写 function TInftClassT.GetMin: Integer; beginResult : Min(FVal1.GetValue, FVal2.GetValue); end;procedure TInftClassT.IncreaseByTen; beginFVal1.SetValue(FVal1.GetValue 10);FVal2.Value : FVal2.Value 10; end;​ 有了所有这些定义我们现在可以按以下方式使用泛型类 procedure TFormIntfConstraint.BtnValueClick(Sender: TObject); varIClass: TInftClassTGetValue; beginIClass : TInftClassTGetValue.Create;tryIClass.Set1(TGetValue.Create(5));IClass.Set2(TGetValue.Create(25));Show(Average: IntToStr(IClass.GetAverage));IClass.IncreaseByTen;Show(Min: IntToStr(IClass.GetMin));finallyIClass.FVal1.Free;IClass.FVal2.Free;IClass.Free;end; end;​ 为了展示这个泛型类的灵活性我为接口创建了另一个完全不同的实现方法 type TButtonValue class(TButton, IGetValue) publicfunction GetValue: Integer;procedure SetValue(Value: Integer);class function MakeTButtonValue(Owner: TComponent; Parent: TWinControl): TButtonValue; end;function TButtonValue.GetValue: Integer; beginResult : Left; // use base class property end;procedure TButtonValue.SetValue(Value: Integer); beginLeft : Value; // use base class property end;​ 该类函数此处未显示在父控件中创建了一个随机位置的按钮。位置创建一个按钮并在以下示例代码中使用 procedure TFormIntfConstraint.BtnValueButtonClick(Sender: TObject); varIClass: TInftClassTButtonValue; beginIClass : TInftClassTButtonValue.Create;tryIClass.Set1(TButtonValue.MakeTButtonValue(Self, ScrollBox1));IClass.Set2(TButtonValue.MakeTButtonValue(Self, ScrollBox1));Show(Average: IntToStr(IClass.GetAverage));Show(Min: IntToStr(IClass.GetMin));IClass.IncreaseByTen;Show(New Average: IntToStr(IClass.GetAverage));finallyIClass.Free;end; end;
http://www.w-s-a.com/news/24645/

相关文章:

  • dw网页设计模板图片谷歌wordpress优化
  • 网站seo优化要怎么做礼品公司怎么做网站
  • 做网页网站需要钱吗提供常州微信网站建设
  • 网站建设文化效果广东网站建设哪家有
  • 毕业设计做网站怎样做特别一点在线网页制作软件
  • html网站代码上海这边敲墙拆旧做啥网站的比较多
  • 微网站怎么用在线crm管理系统
  • 中国城乡建设部人力网站首页如何利用某个软件做一个网站
  • 个人承接网站建设wordpress editor
  • 建站主机 wordpress专业的菏泽网站建设公司
  • 网站响应时间 标准网站建设色调的
  • 网站开发的合同网站建设 设计
  • 网站开发设置网页端口申请免费个人网站空间
  • 制作广告网站的步骤云服务器做网站
  • ipv6可以做网站吗东莞网站建站推广
  • 注册功能的网站怎么做做网站容易还是编程容易
  • wordpress建立目录seo编辑培训
  • 网站怎么群发广州现在可以正常出入吗
  • 微信有网站开发吗多语种网站
  • 深圳网站设计 建设首选深圳市室内设计公司排名前50
  • 上海网站建设 觉策动力wordpress接口开发
  • 网站建设服务器的选择方案小型视频网站建设
  • 江宁做网站价格扬州立扬计算机培训网站建设怎么样
  • 手表网站背景开发新客户的十大渠道
  • 定制网站设计wordpress写的网站
  • p2p网站建设公司排名成都装饰公司
  • 网站被k怎么恢复wordpress缓存类
  • 做外贸有哪些网站平台最近文章 wordpress
  • joomla网站模板一个人做网站的swot
  • 南京建设网站需要多少钱深圳专业网站建设制作价格