次のエラーが表示されます。"Using generic type 'Func<TResult>' requires 1 type arguments". It occurs when I attempt to define a dictionary which maps strings to delegate functions.
辞書は次のようになります。
Dictionary<string, string> builtInFunctions = new Dictionary<string, Func<Expression, Dictionary<string, string>, Dictionary<string, Value>, Dictionary<string, Token>, Dictionary<string, Cube>, Result>>()
{
{"ToString", ToString}
};
Result ToString(
Expression expression,
Dictionary<string, string> env,
Dictionary<string, Value> store,
ref Dictionary<string, Token> tokenEnv,
ref Dictionary<string, Cube> cubeEnv
) {
// implemented ToString function
}
そして、コードのこの部分でエラーが発生しています:
Func<Expression, Dictionary<string, string>, Dictionary<string, Value>, Dictionary<string, Token>, Dictionary<string, Cube>, Result>
たとえば、次のように、別の単純なタイプを使用しても表示されます。
Func<int, int, int, int, int, int>
デリゲート関数は 4 つの引数のみを受け取ることができますか、またはこれを回避する方法はありますか?