IRONSOFTWAREHOME
ACTUALIZACIONES PARA DESARROLLADORES

C# Action (Cómo Funciona para Desarrolladores)

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 19 de julio de 2026

En este tutorial, enseñaremos los conceptos de C# Action, Func delegate y temas relacionados. Esta guía está diseñada para principiantes y te llevará a través de los conceptos básicos, proporcionando ejemplos y explicando términos clave de action delegate.

Comencemos entendiendo qué son los delegados en C#. Exploraremos la biblioteca IronPDF más adelante en el artículo.

Comprensión de los delegados en C#

Los delegados son una construcción de programación que actúa como referencias a métodos, definidos por un conjunto particular de parámetros y un tipo de retorno, encapsulando funcionalidades como tipo de delegado predefinido y permitiendo que los métodos devuelvan valores.

Permite pasar métodos como argumentos. Esencialmente, un delegado sirve como un puntero de función, apuntando al método que representa. En C#, hay dos tipos de delegados predefinidos que se utilizan ampliamente: Func y Action.

¿Qué es un delegado Func?

El delegado Func representa un método que puede tener un valor de retorno. El último parámetro de tipo especifica el tipo de retorno, y los tipos anteriores especifican los parámetros de entrada.

Por ejemplo, un Func<int, int, string> toma dos parámetros enteros y devuelve un mensaje de cadena.

Delegados en la práctica: Ejemplos

Echemos un vistazo a algunos ejemplos para entender cómo funcionan los delegados Func y Action en C#.

Ejemplo de un delegado de acción

Un delegado Action, un tipo de delegado predefinido, se utiliza cuando deseas ejecutar un método que no devuelve un valor específicamente, centrándose en cambio en operaciones. Aquí tienes un ejemplo básico:

Action<string> display = message => Console.WriteLine(message);
display("Hello, World!");

Este código define un delegado Action, ilustrando el uso de un método anónimo, que toma un solo parámetro de cadena y lo imprime en la consola. El símbolo => se usa para definir una expresión lambda, que es una forma concisa de escribir métodos anónimos.

Ejemplo de un delegado Func

Un delegado Func, que devuelve un valor, se puede usar de la siguiente manera:

Func<int, int, int> add = (x, y) => x + y;
int result = add(5, 3);
Console.WriteLine(result);

Este ejemplo crea un delegado Func que toma dos parámetros enteros y devuelve su suma. La suma se mostrará en la consola así:

Acción en C# (Cómo funciona para desarrolladores): Figura 1

Conceptos clave

Métodos anónimos

Los métodos anónimos en C# proporcionan una manera de definir métodos en línea sin un nombre. A menudo se utilizan con delegados para crear instancias de delegados directamente.

Expresiones lambda

Las expresiones lambda son una abreviatura para escribir métodos anónimos. Permiten escribir menos código al lograr el mismo resultado.

Delegado genérico

Un delegado genérico puede trabajar con cualquier tipo de dato. Func y Action son ejemplos de delegados genéricos, proporcionando más flexibilidad al permitirte especificar tipos de entrada y salida en tiempo de ejecución.

Instancia delegada

Una instancia de delegado se crea con la palabra clave new o simplemente asignando un método que coincide con la firma del delegado.

Espacio de nombres del sistema

El espacio de nombres System en .NET contiene tipos integrados como Func y Action, que son parte de la biblioteca de clases base.

Programación asíncrona con delegados

Los delegados, incluidos Action y Func, son esenciales para gestionar tareas asíncronas en C#. Permiten a los desarrolladores encapsular una referencia a un método que luego puede ser ejecutado de manera asíncrona. Esto significa que el hilo principal de la aplicación puede iniciar una tarea y luego continuar con otros trabajos hasta que la tarea se complete.

En ese punto, un método de devolución de llamada, referenciado por un delegado, es llamado para manejar el resultado. Este patrón es vital para crear interfaces de usuario interactivas que permanecen interactivas incluso cuando realizan operaciones de larga duración.

Ejemplo: Procesamiento asíncrono de archivos

Considera una aplicación que necesita procesar un archivo grande. Usar un delegado Action junto con patrones de programación asíncrona como Task puede mejorar significativamente el rendimiento de la aplicación:

public async Task ProcessFileAsync(string filePath, Action<string> onComplete)
{
    // Asynchronously read file content
    string fileContent = await File.ReadAllTextAsync(filePath);
    // Process the file content here (omitted for brevity)
    
    // Once processing is complete, invoke the onComplete callback
    onComplete?.Invoke("File processing completed successfully.");
}

En este ejemplo, File.ReadAllTextAsync se usa para leer el contenido del archivo sin bloquear el hilo principal. Una vez procesado el archivo, se invoca un delegado Action llamado onComplete para notificar al llamador que la operación está completa, permitiendo acciones adicionales como actualizar la interfaz de usuario o registrar resultados.

Introducción de IronPDF: Una Biblioteca de C# PDF

IronPDF es una completa biblioteca C# PDF diseñada para que los desarrolladores de .NET creen, editen y manipulen archivos PDF con facilidad. Se distingue con un motor de renderizado basado en Chrome, asegurando PDFs perfectos píxel a píxel desde contenido HTML, CSS, JavaScript e imágenes.

IronPDF es compatible con una amplia gama de frameworks y entornos .NET, incluidos .NET Standard, .NET Framework y .NET Core, en plataformas Windows, Linux y macOS.

Instalación de IronPDF

Para incorporar IronPDF en tus proyectos .NET, puedes usar NuGet, que es el método más sencillo. Simplemente abre la Consola del Administrador de Paquetes en Visual Studio y ejecuta el siguiente comando:

PM > Install-Package IronPdf

Este comando obtiene e instala el paquete IronPDF, configurando tu proyecto para empezar a usar IronPDF para la generación y manipulación de PDF.

Ejemplo de código con Action Delegate

Aquí tienes un ejemplo sencillo que demuestra cómo usar IronPDF junto con un delegado Action para realizar una tarea de generación de PDF:

using IronPdf;
using System;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();
        
        // Define an Action delegate that takes HTML content as a string
        Action<string> generatePdf = html =>
        {
            // Render the HTML as a PDF
            var pdf = renderer.RenderHtmlAsPdf(html);
            
            // Save the PDF to a file
            pdf.SaveAs("example.pdf");
        };
        
        // Generate the PDF with the provided HTML
        generatePdf("<p>Hello, world!</p>");
        Console.WriteLine("PDF generated successfully.");
    }
}

Este ejemplo define un delegado Action que toma una cadena de HTML y usa IronPDF para renderizarla en un documento PDF. El PDF generado se guarda en el sistema de archivos. Este enfoque demuestra cómo se pueden usar delegados para encapsular la lógica de generación de PDF, haciendo que tu código sea más modular y flexible.

Acción en C# (Cómo funciona para desarrolladores): Figura 2

Licencias

IronPDF ofrece varias opciones de licencias para desarrolladores, desde licencias para desarrolladores individuales hasta acuerdos empresariales. Los precios para estas licencias comienzan desde $999.

Conclusión

Hasta ahora, deberías tener un entendimiento básico de los delegados Action y Func en C#, junto con cómo usar métodos anónimos y expresiones lambda. Recuerda, la práctica es clave para dominar los conceptos de los delegados. Intenta crear tus propios ejemplos para definir, asignar e invocar delegados.

Puedes explorar las capacidades de IronPDF libremente con su versión de prueba gratuita. Si se adapta a los requerimientos de tu proyecto, puedes asegurar una licencia con precios que comienzan en $999.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999