c# - 试图了解C#方法的签名

标签 c# opencv emgucv

以下是EMGU CV文档(摘自here):

DenseHistogram.Calculate<TDepth> Method (Image<Gray, TDepth>[], 
    Boolean, Image<Gray, Byte>)

以下是实际应用程序中的示例用法:
dh.Calculate(new Image<Gray, Byte>[] { img[0] }, false, null);

其中dh已创建为DenseHistogram
<TDepth>服务于什么目的(紧接在Calculate之后)?尽管示例文档中没有任何内容表明它是可选的,但示例代码中尚未使用它,但似乎不会引起问题。

最佳答案

这是generic type parameter,这就是使方法通用的原因。

在示例代码中推断出类型参数,即编译器从使用的参数中找出类型参数必须是什么。不推断出type参数的完整调用为:

dh.Calculate<Byte>(new Image<Gray, Byte>[] { img[0] }, false, null);

关于c# - 试图了解C#方法的签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549530/

相关文章:

c++ - 如何在 cv::Mat 的边界框中找到最大像素值

algorithm - 图像畸变的快速算法

python - 用Python处理视频的好资源?

c# - Linq .Where(type = typeof(xxx)) 比较总是错误的

c# - 如何安全地迭代 IAsyncEnumerable 以向下游发送集合以批量处理消息

c# - 将 Shift+1 转换为 ! C# 中的符号

python - 如何在 Raspberry Pi 上使用 TBB 构建 OpenCV?

c# - EmguCV 3.0 中的 CvInvoke.ConvexityDefects()

c# - 如何使用 Emgu CV 检测图像中的箭头?

c# - 为什么 double.TryParse() 在精度 > 16 时返回 true