如何编写通用的F#委托声明?

如何编写通用的F#委托声明?,f#,c#-to-f#,F#,C# To F#,那么,如何用f#编写通用委托声明呢 我想得到这个c#声明的等价物: public delegate Result<TOutput> Parser<TInput, TValue>(TInput input); 公共委托结果解析器(TInput输入); 我还没有找到关于如何实现这一点的文档,尽管编写泛型委托是很常见的 有什么想法或建议吗?您可以按如下方式定义一般委托: type Parser<'TInput, 'TOutput> = delegate of '

那么,如何用f#编写通用委托声明呢

我想得到这个c#声明的等价物:

public delegate Result<TOutput> Parser<TInput, TValue>(TInput input);
公共委托结果解析器(TInput输入);
我还没有找到关于如何实现这一点的文档,尽管编写泛型委托是很常见的


有什么想法或建议吗?

您可以按如下方式定义一般委托:

type Parser<'TInput, 'TOutput> = delegate of 'TInput -> Result<'TOutput>

“我认为我从来都不需要在F#中定义委托。”我也是。我确实需要它来实现c#interop:)
// Alias for a standard .NET delegate
type Parser<'TInput, 'TOutput> = System.Func<'TInput, Result<'TOutput>>

// Alias for a normal F# function
type Parser<'TInput, 'TOutput> = 'TInput -> Result<'TOutput>