相关疑难解决方法(0)

如何使用泛型类型参数传入func?

我喜欢将泛型类型转换器函数发送到方法,但我无法弄清楚如何做到这一点.

这是解释我想要实现的内容的无效语法,问题是我不知道如何与我的func一起指定泛型类型:

public void SomeUtility(Func<T><object,T> converter)
{
    var myType = converter<MyType>("foo");
}
Run Code Online (Sandbox Code Playgroud)

编辑(参见我在Lawrence评论中的讨论):通过"泛型转换器"我的意思是我想传入一个可以转换为任何强类型<T>(不是对象)的转换器,所以我的下一行方法可能是:

var myOtherType = converter<MyOtherType>("foo");
Run Code Online (Sandbox Code Playgroud)

我想作为参数传递的委托看起来像这样:

private delegate TOutput myConverterDelegate<TOutput>(object objectToConvert);
Run Code Online (Sandbox Code Playgroud)

这更像是一种语法/ C#探索,为了完成工作,我可能会使用一个接口,但我希望这可以用func/delegate来实现.

c# func

31
推荐指数
3
解决办法
4万
查看次数

标签 统计

c# ×1

func ×1