using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 泛型类扩展方法
{
class Holder<T>
{
T[] vars = new T[3];
public Holder(T v0,T v1,T v2)
{
vars[0] = v0;
vars[1] = v1;
vars[2] = v2;
}
public T[] GetValues()
{
return vars;
}
}
/*扩展方法的要求:
*1、声明为static
*2、是静态类的成员
*3、第一个参数类型中必须有关键词this,后面是扩展的泛型类的名字
*/
static class ExtendHolder
{
public static void Print<T>(this Holder<T> h)
{
T[] vlas = h.GetValues();
Console.WriteLine("{0},\t{1},\t{2}",vlas[0],vlas[1],vlas[2]);
}
}
class Program
{
static void Main(string[] args)
{
var intHolder = new Holder<int>(3, 5, 7);
var stringHolder = new Holder<string>("asd","dfew","vrfa");
intHolder.Print();
stringHolder.Print();
Console.ReadKey();
}
}
}
时间: 2024-11-05 18:50:45