Bu sorunun zaten bir cevabı var:
Bu aptalca bir soru gibi görünse de, sadece merak için.
C # 'de zaten iki tanımlı delegemiz var:
Eylem kapsüller herhangi 0 veya daha fazla parametre alan "void" yöntemi.
Func kapsüllü herhangi Belirli bir değer türü döndüren ve 0 veya daha fazla parametre alan yöntem.
Sorum şu: hangi durumlarda özel bir temsilci tanımlamanız önerilir?
Bunu neden yapmak zorundasın?
Şimdiden teşekkürler
Hiçbiri
Func veya
Action türler izin
out veya
ref Parametreler, bu nedenle, aşağıdakileri kullanmanız gerekirse kendi delegelerinizi tanımlamanız gerekir:
public delegate bool TryParse<T>(string s, out T value);
Binlerce durumda, bir işleve başvurmanız / işaret etmeniz gerekecektir (bu nedenle, söz konusu delegelerin herhangi biriyle eşleşmeyen, işlevin gerçek olarak uygulanması, imza dışında, çalışma süresi içinde değişecekse, bir temsilci). Söylemek
Genel delege T MyDel (T t, U u, V v);