type - template c#
¿Qué es Action<string>? (6)
Aquí hay una pequeña y fácil introducción de Acción:
¿Qué es Action<string>
, cómo se puede usar?
Básicamente es solo un delegado que no devuelve un valor.
Eche un vistazo aquí: http://msdn.microsoft.com/en-us/library/018hxwa8.aspx
Action<string>
solo sería un delegado de un método que exceptuaba un solo parámetro de cadena y no devolvía nada.
Es un delegado con un parámetro, esta es una cadena.
Útil porque significa que ya no tiene que crear delegados para acciones siempre que pueda usar una acción estándar (es decir, la cantidad de parámetros es fija, no hay valores predeterminados y solo puede usar una acción existente).
Este es un delegado a una función con la firma void Bla(string parameter)
. Puedes usar esto para pasar funciones a otras funciones. Por ejemplo puedes hacer esto
Action<string> action = (x => Console.WriteLine(x));
new List<string>{"1","2","3"}.ForEach(action);
para imprimir todos los caracteres a la consola
Action
es un delegado estándar que tiene de uno a 4 parámetros (16 en .NET 4) y no devuelve valor. Se utiliza para representar una acción.
Action<String> print = (x) => Console.WriteLine(x);
List<String> names = new List<String> { "pierre", "paul", "jacques" };
names.ForEach(print);
Hay otros delegados predefinidos:
Predicate
, delegado que tiene un parámetro y devuelve un booleano.Predicate<int> predicate = ((number) => number > 2); var list = new List<int> { 1, 1, 2, 3 }; var newList = list.FindAll(predicate);
Func
es el más genérico, tiene de 1 a 4 parámetros (16 en .NET 4) y devuelve algo
public void ValidateInput(string input)
{
//some code
}
public void test()
{
Action<string> action = ValidateInput;
}