IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C# Eylem (Geliştiriciler için Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 19 Temmuz 2026

Bu derste, C# Action, Func delegate ve ilgili konuların kavramlarını öğreteceğiz. Bu kılavuz, başlangıç seviyesindekiler için tasarlanmıştır ve sizi temellerden geçirecek, örnekler sunacak ve action delegate anahtar terimlerini açıklayacaktır.

C#'ta delegelerin ne olduğunu anlayarak başlayalım. Makalede daha sonra IronPDF kütüphanesini keşfedeceğiz.

C# Temsilcilerini Anlamak

Temsilciler, belirli bir parametre seti ve dönüş türü ile tanımlanan ve önceden tanımlanmış temsilci tipi gibi işlevleri kapsayan, metodlara referanslar olarak hizmet eden bir programlama yapısıdır.

Metodların argüman olarak aktarılmasına izin verir. Özünde, bir temsilci, temsil ettiği metodu gösteren bir işlev işaretçisi olarak hizmet eder. C#'ta, yaygın olarak kullanılan iki önceden tanımlanmış temsilci türü vardır: Func ve Action.

Func Delegesi Nedir?

Func delegesi, bir dönüş değerine sahip olabilecek bir metodu temsil eder. Son tür parametresi dönüş türünü belirtir ve önceki türler giriş parametrelerini belirtir.

Örneğin, bir Func<int, int, string> iki tamsayı parametre alır ve bir dize mesajı döndürür.

Temsilcilerin Uygulamada Kullanımı: Örnekler

Func ve Action delegelerinin C#'ta nasıl çalıştığını anlamak için bazı örneklere bir göz atalım.

Action Delegesi Örneği

Bir Action delegesi, belirli bir değeri geri döndürmeyen, bunun yerine işlemler üzerinde odaklanan bir metodu icra etmek istediğinizde kullanılan, önceden tanımlanmış bir temsilci türüdür. İşte temel bir örnek:

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

Bu kod, bir anonymous method (anonim metot) kullanarak, tek bir dize parametresi alan ve bunu konsola yazdıran bir Action delegesi tanımlar. => sembolü, anonim metodları yazmak için kısa bir yol olan lambda ifadesini tanımlamak için kullanılır.

Func Delegesi Örneği

Bir Func delegesi, bir değer döndüren, aşağıdaki gibi kullanılabilen bir delegedir:

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

Bu örnek, iki tamsayı parametresi alan ve bunların toplamını döndüren bir Func delegesi oluşturur. Toplam, konsolda şöyle gösterilecektir:

C# Eylem (Geliştiriciler İçin Nasıl Çalışır): Şekil 1

Anahtar Kavramlar

Anonim Metodlar

C#'taki anonim metodlar, isim vermeden yerinde metodlar tanımlamanın bir yolunu sunar. Genellikle temsilcilerle birlikte doğrudan temsilci örnekleri oluşturmak için kullanılırlar.

Lambda İfadeleri

Lambda ifadeleri, anonim metodların yazılması için kısa bir yöntemdir. Aynı sonuca ulaşmak için daha az kod yazmanıza olanak tanır.

Genel Temsilci

Bir genel temsilci, herhangi bir veri türü ile çalışabilir. Func ve Action, giriş ve çıkış türlerini çalışma zamanında belirtmenize izin vererek daha fazla esneklik sağlayan genel temsilci örnekleridir.

Temsilci Örneği

Bir temsilci örneği, new anahtar kelimesi ile veya temsilcinin imzasına uyan bir metoda basitçe atama yapılarak oluşturulur.

System Ad Alanı

.NET'teki System ad alanı, Func ve Action gibi yerleşik türleri, temel sınıf kütüphanesinin bir parçası olarak içerir.

Temsilcilerle Asenkron Programlama

Action ve Func dahil olmak üzere temsilciler, C#'ta asenkron görevleri yönetmek için çok önemlidir. Geliştiricilerin, daha sonra asenkron olarak icra edilebilecek bir metoda referans kapsüllemelerine olanak tanır. Bu, ana uygulama iş parçacığının bir görevi başlatabileceği ve ardından görev tamamlanana kadar başka işler yapmasına olanak tanır.

Bu noktada, bir geri çağırma metodu, bir temsilci tarafından referans alınarak çağrılır ve sonucu ele alır. Bu desen, uzun süre çalışan işlemler gerçekleştirirken bile etkileşimli kalabilen duyarlı kullanıcı arayüzleri oluşturmak için hayati önem taşır.

Örnek: Asenkron Dosya İşleme

Büyük bir dosyayı işlemesi gereken bir uygulamayı düşünün. Task gibi asenkron programlama desenleriyle birlikte bir Action delegesi kullanmak, uygulama performansını önemli ölçüde artırabilir:

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.");
}

Bu örnekte, File.ReadAllTextAsync, ana iş parçacığını engellemeden dosya içeriğini okumak için kullanılır. Dosya işlendiğinde, işlemin tamamlandığını bildirmek için onComplete adlı bir Action delegesi çağrılır, böylece UI'ı güncellemek veya sonuçları kaydetmek gibi daha ileri eylemler sağlar.

IronPDF Tanıtımı: Bir C# PDF Kütüphanesi

IronPDF, PDF dosyalarını kolayca oluşturmak, düzenlemek ve manipüle etmek için .NET geliştiricilerine yönelik kapsamlı bir C# PDF kütüphanesidir. HTML içeriğinden, CSS'den, JavaScript'den ve görüntülerden piksel mükemmelliğinde PDF'ler sağlamak için Chrome tabanlı bir render motoru ile kendini ayırt eder.

IronPDF, .NET Standard, .NET Framework ve .NET Core dahil olmak üzere çeşitli .NET çerçeveleri ve ortamları ile uyumludur, Windows, Linux ve macOS platformlarında çalışır.

Installing IronPDF

IronPDF'i .NET projelerinize dahil etmek için kullanılabilecek en basit yöntem NuGet kullanmaktır. Visual Studio'da Paket Yöneticisi Konsolu'nu açarak ve aşağıdaki komutu çalıştırarak başlayabilirsiniz:

PM > Install-Package IronPdf

Bu komut, IronPDF paketini alır ve kurar, böylece projeniz IronPDF'i PDF oluşturma ve manipülasyonu için kullanmaya hazır hale gelir.

Action Delegesi ile Kod Örneği

IronPDF'i bir Action delegesi ile birlikte bir PDF oluşturma görevi gerçekleştirmek için kullanmaya ilişkin basit bir örnek:

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.");
    }
}

Bu örnek, bir HTML dizgisi alarak ve onu bir PDF belgesine dönüştürmek için IronPDF'i kullanan bir Action delegesi tanımlar. Oluşturulan PDF daha sonra dosya sistemine kaydedilir. Bu yaklaşım, kodunuzu daha modüler ve esnek hale getirerek, temsilcilerin PDF oluşturma mantığını kapsüllemek için nasıl kullanılabileceğini gösterir.

C# Eylem (Geliştiriciler İçin Nasıl Çalışır): Şekil 2

Lisanslama

IronPDF, geliştiriciler için çeşitli lisanslama seçenekleri sunar, bireysel geliştirici lisanslarından kurumsal anlaşmalara kadar. Bu lisansların fiyatları $999'den başlamaktadır.

Sonuç

Şimdiye kadar, C#'ta Action ve Func delegeleri ile anonim metot ve lambda ifadelerini kullanma hakkında temel bir anlayışa sahip olmalısınız. Unutmayın, temsilci kavramlarını ustalaşmak için practice gereklidir. Kendi örneklerinizi oluşturarak temsilcileri tanımlayın, atayın ve çağırın.

IronPDF'in yeteneklerini ücretsiz deneme sürümü ile özgürce keşfedebilirsiniz. Proje gereksinimlerinize uygunsa, fiyatlar $999'ten başlayan bir lisans elde edebilirsiniz.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez