C#'daki olayların tanımı:
Bir sınıf veya nesne, olaylar aracılığıyla diğer sınıflara veya nesnelere ne olduğunu bildirebilir. Olayı gönderen (veya sebep olan) sınıfa "verici" denir, olayı alan (veya işlän) sınıfa ise "abone" denir.
Etkinlikler aşağıdaki özelliklere sahiptir:
- Yayıncı, etkinliğin ne zaman başlatılacağına karar verir ve abone etkinliğe yanıt olarak hangi eylemi yapacağını belirler.
- Bir etkinliğin birden fazla abonesi olabilir. Bir abone, birden fazla ihraççıdan birden fazla etkinliği yönetebilir.
- Abone olmayan etkinlikler asla çağrılmaz.
- Olaylar, grafiksel kullanıcı arayüzlerindeki buton tıklamaları veya menü seçimi gibi eylemler hakkında kullanıcıları bilgilendirmek için sıkça kullanılır.
- Bir olayın birden fazla abonesi varsa, olay yükseltildiğinde birden fazla olay yöneticisi aynı anda çağrılır. Olayları asenkron olarak çağırmak için bkz. Asenkron Yöntemleri Kullanarak Senkronizasyon Yöntemlerini Çağırmak.
- Olay senkronizasyonu iş parçacıkları kullanılabilir.
Event anahtar kelimesi, yayıncı sınıfındaki olayları bildirmek için kullanılır.
MS bağlantısı:Bağlantı girişi görünür.
Olay yazma yöntemi A ile yazma yöntemi B arasında hiçbir fark yoktur!
Başvurabilirsiniz:Bağlantı girişi görünür.
EventHandler<T>İki parametreyi (nesne gönderici, TEventArgs e) kabul eden ve boşluk tipi döndüren bir yöntemi temsil eder. burada TEventArgs, EventArgs sınıfından türetilmiş bir tür olmalıdır. Son parametre, olay için gereken parametreleri depolamak için kullanılır.
EventArgsOlay verisini içeren bir sınıfın temel sınıfıdır; bu sınıf olay verisi içermez ve olay yükseltildiğinde durum bilgisini olay işleyiciye iletmeyen olaylar tarafından kullanılır. Olay işleyicisi durum bilgisine ihtiyaç duyarsa, uygulama veriyi tutmak için bu sınıftan bir sınıf türetmelidir.
Volatile.Read .NET 4.0 desteklenmiyor
// Özet: Nesne referansları belirtilen alandan okunur. Sistemde ihtiyaç duyulduğunda, işlemcinin bellek işlemlerini yeniden sıralamasını önlemek için bir bellek engeli eklenecektir; aşağıdaki gibi: Bu yöntem okuma/yazma işlemi yapıldıktan sonra kodda görünürse, işlemci bu yöntemi bu yöntemden önce hareket ettiremez. // Parametreler: Konum: Okumak için tarlalar. // Tip parametreleri: T: Okunacak alan türü. Bu referans tipi olmalı, değer tipi değil. // Dönüş sonuçları: Referans T'yi okuyun. Bu referans, işlemci sayısı veya önbelleğinin durumu ne olursa olsun bilgisayardaki herhangi bir işlemci tarafından yazılır. [Güvenilirlik Sözleşmesi(Tutarlılık.Yolsuz Olmaz, Başarı)] [GüvenlikGüvenliKritik] [TargetedPatchingOptOut("NGen görüntü sınırları arasında inline performans kritik")] public statik T <T>Read (referans T konumu) burada T : sınıf;
|