我有一个泛型类,如何在不使用泛型的情况下生成泛型变量?
class ComputeScalar<T> : IComputeVariable where T : struct
{
// This is why i have to use generics.
ComputeBuffer<T> buffer;
T data;
}
class ComputeArray<T> : IComputeVariable where T : struct
{
// This is why i have to use generics.
ComputeBuffer<T> buffer;
T[] data;
}
,我在另一个类中使用这个类的一个列表,
class SomeClass
{
List<IComputeVariable> variables;
}
我创建的接口,因为在C#中,我们不能使用类型泛型类参数。 (对吧?)我想了解的是如何使“数据”成为界面的一员?在运行期间,我如何确定数据类型? (数据可以是任何值类型)
缓冲区用于发送数据到GPU,并且必须是通用的。所以第二种选择不是一种选择,因为我需要将不同类型的变量发送到GPU。列表必须是通用的。但我会尝试第一个。 非常感谢。 – Kayhano 2010-08-04 08:23:34
第一个为我工作,谢谢:) – Kayhano 2010-08-04 08:54:45