C# 泛型 介面約束
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace interfaceConstraint
{
interface IPhoneNumber
{
String Name
{
get;
set;
}
string Number
{
get;
set;
}
}
class Friend : IPhoneNumber
{
string name;
string number;
public string Name
{
get { return name; }
set { name = value; }
}
public string Number
{
get { return name; }
set { name = value; }
}
public Friend(string name, string number)
{
this.name = name;
this.number = number;
}
}
class Supplier : IPhoneNumber
{
string name;
string number;
public string Name
{
get { return name; }
set { name = value; }
}
public string Number
{
get { return name; }
set { name = value; }
}
public Supplier(string name, string number)
{
this.name = name;
this.number = number;
}
}
class others
{ }
class PhoneList<T> where T : IPhoneNumber
{
T[] phList;
int end;
public PhoneList()
{
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<Friend> phList1 = new PhoneList<Friend>();
phList1.Add(new Friend("zhangsan", "123"));
phList1.Add(new Friend("lisi", "234"));
phList1.findByName("lisi");
Console.WriteLine("============");
PhoneList<Supplier> phList2 = new PhoneList<Supplier>();
phList1.Add(new Friend("zhangsan1", "123"));
phList1.Add(new Friend("lisi1", "234"));
phList1.findByName("lisi11");
Console.ReadLine();
}
}
}
相關文章
- C#泛型約束C#泛型
- C# 泛型 引用型別約束 值型別約束C#泛型型別
- C# 泛型 基類約束C#泛型
- Go 泛型之泛型約束Go泛型
- C#中泛型約束(where)是什麼?C#泛型
- C# 泛型 new()建構函式約束C#泛型函式
- 泛型的約束理解泛型
- Java泛型(三):型別擦除帶來的約束與侷限性Java泛型型別
- 16.Kotlin星投影與泛型約束詳解Kotlin泛型
- [譯]Kotlin泛型中何時該用型別形參約束?Kotlin泛型型別
- TypeScript 泛型介面和泛型類TypeScript泛型
- C# 泛型C#泛型
- C#泛型C#泛型
- 【C#】-泛型C#泛型
- C#中的介面和泛型集合探討C#泛型
- Java泛型知識點:泛型類、泛型介面和泛型方法Java泛型
- 【.NET】利用 IL 魔法實現隨心隨意的泛型約束泛型
- 介面即泛型泛型
- C# 泛型方法C#泛型
- hashtable 泛型 C#泛型C#
- c#泛型集合C#泛型
- 學員優秀博文賞析:泛型萬用字元及約束泛型字元
- ts類介面約束定義
- 淺談C#泛型C#泛型
- C#泛型學習C#泛型
- C# 泛型集合SortedListC#泛型
- c#泛型的使用C#泛型
- c#泛型續(一)C#泛型
- PHP7型別約束PHP型別
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- 詳解C#泛型(三)C#泛型
- 詳解C#泛型(二)C#泛型
- 詳解C#泛型(一)C#泛型
- c#進階之泛型C#泛型
- C#之泛型詳解C#泛型
- C#中的泛型-1C#泛型
- C#泛型類之LISTC#泛型
- C# 之泛型詳解C#泛型