partial yöntemi (C# Başvurusu)
Kısmi bir yöntem, imzasını kısmi türün bir parçasında, uygulamasını ise başka bir parçasında tanımlatır. Kısmi yöntemler sınıf tasarımcılarının, geliştiricilerin uygulamaya veya uygulamamaya karar verebildikleri olay işleyicilerine benzer yöntem kancaları sağlamasına olanak sağlar. Geliştirici bir uygulama sağlamazsa, derleyici derleme zamanında imzayı kaldırır. Aşağıdaki koşullar kısmi yöntemler için geçerlidir:
Bildirimler, kısmi bağlamsal anahtar sözcükle başlamalıdır.
Kısmi türün her iki tarafındaki imzaların eşleşmesi gerekir.
partial
Oluşturucularda, sonlandırıcılarda, aşırı yüklenmiş işleçlerde, özellik bildirimlerinde veya olay bildirimlerinde anahtar sözcüğüne izin verilmez.
Aşağıdaki durumlarda bir uygulamanın olması için kısmi bir yöntem gerekli değildir:
Herhangi bir erişilebilirlik değiştiricisi (varsayılan özel dahil) yoktur.
Geçersizlik döndürür.
Herhangi bir out parametresi yoktur.
Sanal, geçersiz kılma, korumalı, yeni veya extern gibi aşağıdaki değiştiricilerden herhangi birine sahip değildir.
Tüm bu kısıtlamalara uymayan herhangi bir yöntem (örneğin, public virtual partial void
yöntem) bir uygulama sağlamalıdır.
Aşağıdaki örnek, kısmi bir sınıfın iki parçasında tanımlanan kısmi bir yöntemi gösterir:
namespace PM
{
partial class A
{
partial void OnSomethingHappened(string s);
}
// This part can be in a separate file.
partial class A
{
// Comment out this method and the program
// will still compile.
partial void OnSomethingHappened(String s)
{
Console.WriteLine("Something happened: {0}", s);
}
}
}
Kısmi yöntemler, kaynak oluşturucularla birlikte de yararlı olabilir. Örneğin, bir regex aşağıdaki desen kullanılarak tanımlanabilir:
[GeneratedRegex("(dog|cat|fish)")]
partial bool IsPetMatch(string input);
Daha fazla bilgi için bkz . Kısmi Sınıflar ve Yöntemler.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin