C# 泛型 基类约束
来源:互联网 发布:java身份证识别 编辑:程序博客网 时间:2024/05/22 00:29
基类约束,要求类型参数只能是基类或者由基类派生的类。
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace classConstraint{ class PhoneNumber { string name; string number; public String Name { get { return name; } set { name = value; } } public String Number { get { return number; } set { number = value; } } public PhoneNumber(string name, string phoneNumber) { this.name = name; this.number = phoneNumber; } } class FriendNumber : PhoneNumber { bool isWorkNumber; public bool IsWorkNumber { get { return isWorkNumber; } set { isWorkNumber = value; } } public FriendNumber(string name, string number, bool isWorkNumber) : base(name, number) { this.isWorkNumber = isWorkNumber; } } class Supplier : PhoneNumber { public Supplier(string name, string number) : base(name, number) { } } class others { } class PhoneList<T> where T: PhoneNumber { T[] phList; int end; public PhoneList() { this.phList = new T[10]; end = 0; } public bool Add(T newNumber) { if (end == 10) return false; phList[end] = newNumber; end++; return true; } public void findByName(string name) { for (int i = 0; i < end; i++) { if (phList[i].Name == name) { Console.WriteLine("找到了,{0}的联系电话是{1}",name,phList[i].Number); return; } } Console.WriteLine("没有找到!"); } } class Program { static void Main(string[] args) { PhoneList<FriendNumber> plist = new PhoneList<FriendNumber>(); plist.Add(new FriendNumber("zhangsan", "23",true)); plist.Add(new FriendNumber("lisi", "6691182", true)); plist.Add(new FriendNumber("wangwu", "23423", false)); plist.findByName("lisi"); Console.WriteLine("================"); PhoneList<Supplier> plist2 = new PhoneList<Supplier>(); plist2.Add(new Supplier("iphone", "123")); plist2.Add(new Supplier("android", "123")); plist2.findByName("windowsPhone"); PhoneList<PhoneNumber> plist3 = new PhoneList<PhoneNumber>(); // PhoneList<others> plist4 = new PhoneList<others>(); Console.ReadLine(); } }}
0 0
- C# 泛型 基类约束
- C# 泛型 接口约束
- C#泛型 where约束
- C# 泛型 WHERE 约束
- c#泛型 约束 和 new()约束
- C# 泛型new约束关键字
- C#约束
- C# 泛型 引用类型约束 值类型约束
- C# 泛型 new()构造函数约束
- c# 泛型 类型参数的约束(C# 编程指南)
- c# 泛型 类型参数的约束(C# 编程指南)
- C# 2.0 约束
- C#访问约束问题
- c#泛型约束
- C#泛型约束
- C#泛型约束
- c#泛型约束
- C# 泛型约束
- linux、mysql、nginx、tomcat 环境下压力测试的主要调试参数
- 基于Hive的海量Web日志分析
- 急急急 谢谢
- 部署描述文件web.xml解析(一)总述
- Jump
- C# 泛型 基类约束
- java开发中23种设计模式
- LVM详解
- Java面向对象实例(双色球摇号篇)
- Fatal NI connect error 12170.
- Vijos P1142 HXOS(HN2002)题解
- 【多线程_提高篇】 创建高效且可伸缩的结果缓存
- ios学习笔记-Lecture5:UITextView
- Linux vi 我的常用命令