`
txf2004
  • 浏览: 6883573 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C# 写的一个泛型类和泛型方法示例

阅读更多

using System;
using System.Collections.Generic;
using System.Text;

namespace Genericity
{
class Program
{
//泛型类1:
public class GenericityHello<T>
{
public void SayHello(T t)
{
Console.WriteLine(t.ToString());
}
}

//泛型类2:
public class GenericityHello1<T>
{
private T tt;

public T TT
{
get
{
return tt;
}
set
{
tt = value;
}
}

public void SayHello()
{
Console.WriteLine(tt.ToString());
}
}

public class English
{
public override string ToString()
{
return "Hello!";
}
}

public class Chinese
{
public override string ToString()
{
return "你好!";
}
}

//泛型方法:
public class Class3
{
public Class3()
{
}

public void Swap<T>(ref T a, ref T b)
{
T c;
c = a;
a = b;
b = c;
}

}

static void Main(string[] args)
{
GenericityHello<English> gh1 = new GenericityHello<English>();
English en = new English();
gh1.SayHello(en);

GenericityHello1<Chinese> gh2 = new GenericityHello1<Chinese>();
Chinese cn = new Chinese();
gh2.TT = cn;
gh2.SayHello();

//测试泛型方法:
Console.WriteLine("交换2个对象:");
string s1 = "sssssssss-1";
string s2 = "sssssssss-2";
Class3 cls3 = new Class3();
cls3.Swap(ref s1, ref s2);
Console.WriteLine("s1={0}, s2={1}", s1, s2);

Console.ReadLine();
}
}
}

电脑学习网 http://www.why100000.com

张庆 2007.5.30

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics