分配给代表的通用方法

10001110101

我对委托和通用方法感到有些困惑。

是否可以将委托分配给具有泛型类型参数的方法?

IE:

//This doesn't allow me to pass a generic parameter with the delegate.
public delegate void GenericDelegate<T>() 

someDelegate = GenericMethod;
public void GenericMethod<T>() where T : ISomeClass
{

}

我正在尝试使用该方法所期望的接口的通用类型将此委托传递给函数,并具有如下功能:

void CheckDelegate(GenericDelegate<ISomeClass> mechanism);

这样我就可以像这样使用委托:

someDelegate<ImplementsSomeClass>();
usr

您的问题毫无意义,因为您永远无法使用开放的泛型类型来声明存储位置(例如局部变量或字段)。它必须始终关闭。

我了解您想将a传递GenericDelegate<T>给以这样的值作为参数的方法。但是即使那样,委托类型也将T作为通用类型参数而关闭

在示例代码中,您编写

someDelegate = GenericMethod;

但是someDelegate应该有什么类型的呢?它必须是明显关闭的(GenericDelegate<string>)或用外部作用域的通用类型参数关闭:

void SomeOuterMethod<T>() where T : ISomeClass {
    GenericDelegate<T> someDelegate = GenericMethod<T>;
}

希望我能理解您的问题。如果没有,请澄清。如果您详细说明了要完成的工作,那么我将尝试提出一个实用的解决方案。

其他语言(例如Haskell)也支持传递开放的泛型类型的值(换句话说,您可以具有type的变量IEnumerable<>)。这是实现monad所必需的。CLR没有该功能。


新思路:可以使用可重写的泛型方法创建非泛型基本类型,而不是委托:

interface CheckHandler {
 public void Check<T>(T someArg);
}

希望能涵盖您的情况。您不能随意传递任何信息CheckHandlerCheck然后可以使用任意类型的参数调用方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

分配给代表的通用方法

来自分类Dev

将通用接口的实现分配给属性

来自分类Dev

通用扩展参数不能分配给参数类型

来自分类Dev

将通用对象分配给Partial类型

来自分类Dev

将通用变量作为long分配给CountDownTimer

来自分类Dev

将具体地图分配给通用类型的地图

来自分类Dev

VBA:将通用OLEObject分配给CheckBox变量

来自分类Dev

如何将引用值分配给通用属性

来自分类Dev

将Swift方法分配给变量

来自分类Dev

检查是否可以将一个班级分配给另一个班级的最通用方法

来自分类Dev

方法与方法在Java中分配给变量的方法

来自分类Dev

无法分配给“方法”,因为它是“方法组”

来自分类Dev

无法分配给“”,因为它是“方法组”

来自分类Dev

调用类/静态方法并分配给实例变量

来自分类Dev

将方法分配给变量/属性的语法

来自分类Dev

将MemberInitExpression分配给属性的ExpressionTree方法

来自分类Dev

将方法名称分配给UnityAction(Delegate)

来自分类Dev

从onload方法返回值并分配给变量

来自分类Dev

将数组的值分配给结构的最佳方法

来自分类Dev

PHP:将函数分配给类方法

来自分类Dev

将变量分配给私有方法

来自分类Dev

Swift无法在方法中分配给self

来自分类Dev

在Java中分配给它的解决方法?

来自分类Dev

无法在方法中分配给自己-Swift

来自分类Dev

无法分配给“金钱”,因为它是“方法组”

来自分类Dev

将字体字体分配给textview的最佳方法

来自分类Dev

关闭分配给变量的MS Access表单的正确方法

来自分类Dev

将MemberInitExpression分配给属性的ExpressionTree方法

来自分类Dev

从方法中获取分配给变量的类型

Related 相关文章

热门标签

归档