这里有一个问题需要注意以下,我们在声明泛型T的时候,并不是一定类型名是T,T是在一个类型的时候,如果我们需要使用多个泛型来实例化一个类型,那么我们就需要使用说明性的名称,比如TId,TFirstName之类的。
class Program
{
static void Main(string[] args)
{
PerosnMoreTypeOfT<int, string, string> person = new PerosnMoreTypeOfT<int, string, string>(1, "始皇", "秦");
Console.WriteLine("ID:{0},名字:{1},姓:{2}", person.Id, person.FirstName, person.LastName);
}
}
public class PerosnMoreTypeOfT<TId, TFirstName, TLastName>
{
private TId _id;
public TId Id
{
get { return _id; }
set { _id = value; }
}
private TFirstName _firstName;
public TFirstName FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
private TLastName _lastName;
public TLastName LastName
{
get { return _lastName; }
set { _lastName = value; }
}
public PerosnMoreTypeOfT() { }
public PerosnMoreTypeOfT(TId tId, TFirstName tFirstName, TLastName tLastName)
{
this._id = tId;
this._firstName = tFirstName;
this._lastName = tLastName;
}
}
这是一个值得我们去注意的一个地方!