1

可能重复:
“T”在 C# 中是什么意思?
<T> 在 C# 中表示什么

我已经搜索过这个问题,但是因为我对该语法一无所知,所以我搜索得不够好。好吧,在简短的解释之后,我的问题是:

当我在寻找粒子效果库时,我遇到了这个:

[Serializable]
public class DPSF<Particle, Vertex> : IDPSFParticleSystem
  where Particle : global::DPSF.DPSFParticle, new()
  where Vertex : struct, global::DPSF.IDPSFParticleVertex
{
  // constructors, methods, parameters here ...
}

这个符号在毯子(<...>)中是什么意思以及它是如何使用的?

4

2 回答 2

2

它们是可以传递到类定义中的泛型类型:

一个简单的例子:

public class Test<T>
{
   public T yourVariable;  
}

Test<int> intClass = new Test();
Test<string> stringClass = new Test();

intClass.yourVariable // would be of type int
stringClass.yourVariable // would be of type string

其中 T 是您想要的类型(即另一个类,字符串,整数,任何通用的)

其中 Particle : global::DPSF.DPSFParticle - 表示 Particle 对象必须继承自 DPSF.DPSFParticle

于 2012-04-20T14:27:53.520 回答
1

这意味着 DPSF 类是一个泛型类。<> 之间的 Particle 和 Vertex 是类型参数。这意味着 DPSF 获取两种类型作为参数并用作泛型类。

看看这里:MSDN:泛型

编辑 Where 关键字允许您限制类型参数。where:class 表示参数必须是一个类才能使这个泛型类工作。

于 2012-04-20T14:27:28.593 回答