Assim como Predicate e Action, podemos utilizar o delegate Action para declaração de arrays. A atribuição de métodos
aos elementos de um array é feita utilizando a posição/índice passado como argumento para o indexador [].
Sintaxe: Declaração
modificador_acesso Funct<T1,TResult>[] nome_array; //atributo
Funct<T1,TResult>[] nome_array[];
Sintaxe: Atribuição
Funct<T1,TResult>[] nome_array[] = { nome_metodo1, nome_metodo2, nome_metodoN }; //iniciado
nome_array[indice] = nome_metodo; //atribuição
Sintaxe: Uso
nome_array[indice](lista_argumentos)
Exemplo 7
using System;
public class Program
{
//static Main
public static int Metodo1(string msg){ Console.WriteLine(msg); return msg.Length; }
public static int Metodo2(string msg){ Console.WriteLine(msg); return msg.Length; }
public static int Metodo3(string msg){ Console.WriteLine(msg); return msg.Length; }
public static void Main()
{
Func<string,int>[] vetorFunc = { Metodo1, Metodo2, Metodo3};
vetorFunc[0]("array de");
vetorFunc[1]("func na ");
vetorFunc[2]("linguagm c#");
}
}
Saída
array de
func na
linguagem C#