我正在学习编写自己的接口,并遇到了MSDN文章“接口(C#编程指南)”。一切都看起来很好,除了:<T>是什么意思或作用?
interface IEquatable<T>
{
bool Equals(T obj);
}
我正在学习编写自己的接口,并遇到了MSDN文章“接口(C#编程指南)”。一切都看起来很好,除了:<T>是什么意思或作用?
interface IEquatable<T>
{
bool Equals(T obj);
}
意思是它是一个通用的接口。
您可以创建这样的接口:
public interface IMyInterface<T>
{
T TheThing {get; set;}
}
而且你可以用不同的方式来实现它:
public class MyStringClass : IMyInterface<string>
{
public string TheThing {get; set;}
}
就像这样:
public class MyIntClass : IMyInterface<int>
{
public int TheThing {get; set;}
}
这是一种参数化类型,意味着您可以为任何类型重复使用IEquatable... 在“运行时”(但不完全是),您可以使用String、Animal、Dog等类型替换T。