Aracılığıyla paylaş


delegate (C# Başvurusu)

Bir metot temsilcisi türünün bildirim yöntemimzabenzer. Dönüş değeri ve herhangi bir türdeki herhangi bir sayıda şunları içerir:

public delegate void TestDelegate(string message);
public delegate int TestDelegate(MyType m, long num);

A delegate adlandýrýlmýþ bir ya da bir anonim metotkapsüllemek için kullanılan bir başvuru türü .Temsilciler, işlev işaretçileri C++ benzer; Ancak, temsilciler tür kullanımı uyumlu olan ve güvenli.Temsilciler uygulamalar için bkz: Temsilciler ve Genel Temsilciler.

Notlar

Temsilciler temeli olan olaylar.

Bir metot temsilcisi ya da bir adlandırılmış ile ilişkilendirerek oluşturulabileceği veya anonim metot.Daha fazla bilgi için bkz: Adlı yöntemleri ve Adsýz yöntemler.

metot temsilcisi uyumlu bir dönüş türü ve giriş parametreleri olan bir yöntem veya lambda ifadesiyle örneği gerekir.yöntemimzaizin verilen sapma derecesi hakkında daha fazla bilgi için bkz: Temsilcilerde Varyans (C# ve Visual Basic). Adsýz yöntemler ile kullanmak için metot temsilcisi ve ilişkili kod birlikte bildirilir.Her iki yönde instantiating temsilcilerin Bu bölümde ele alınmıştır.

Örnek

// Declare delegate -- defines required signature: 
delegate double MathAction(double num);

class DelegateTest
{
    // Regular method that matches signature: 
    static double Double(double input)
    {
        return input * 2;
    }

    static void Main()
    {
        // Instantiate delegate with named method:
        MathAction ma = Double;

        // Invoke delegate ma: 
        double multByTwo = ma(4.5);
        Console.WriteLine("multByTwo: {0}", multByTwo);

        // Instantiate delegate with anonymous method:
        MathAction ma2 = delegate(double input)
        {
            return input * input;
        };

        double square = ma2(5);
        Console.WriteLine("square: {0}", square);

        // Instantiate delegate with lambda expression
        MathAction ma3 = s => s * s * s;
        double cube = ma3(4.375);

        Console.WriteLine("cube: {0}", cube);
    }
    // Output: 
    // multByTwo: 9 
    // square: 25 
    // cube: 83.740234375
}

C# dil belirtiminin

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.

Ayrıca bkz.

Başvuru

C# Anahtar Sözcükleri

Başvuru Türleri (C# Başvurusu)

Temsilciler (C# Programlama Kılavuzu)

Olaylar (C# Programlama Kılavuzu)

Adlandırılmış ve Anonim Yöntemler ile Temsilciler (C# Programlama Kılavuzu)

Anonim Yöntemler (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

C# Başvurusu