【发布时间】:2016-03-23 11:17:09
【问题描述】:
我想编写一个泛型函数,将泛型参数传递给具有多个重载的函数。 C++ 等价物是this。这是我尝试过的:
public void setUniform1<T>(int loc, T value) {
GL.Uniform1(loc, value);
}
但是这给了我错误
错误 CS1503:参数 2:无法从 'T' 转换为 'double'
GL.Uniform1 的 value 参数有几种类型,我猜 double 是第一个重载,这就是它试图转换为 double 的原因。
那么我该怎么做呢?
【问题讨论】:
-
试试
((dynamic)GL).Uniform1(loc, value); -
@YacoubMassad:这给了我错误:
error CS0119: 'GL' is a type, which is not valid in the given context。我猜 GL 不是命名空间而是静态类。 -
试试
GL.Uniform1(loc,(double)(object)value) -
请提供
GL.Uniform1的所有重载 -
@esiprogrammer:值不一定是双倍的。