partial metodu (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:
Bildirimlerin kısmi bağlamsal anahtar sözcüğüyle başlaması gerekir.
Kısmi türün her iki tarafındaki imzaların eşleşmesi gerekir.
Aşağıdaki durumlarda bir uygulamaya sahip olmak için kısmi bir yöntem gerekmez:
Herhangi bir erişilebilirlik değiştiricisi (varsayılan özel dahil) yok.
void döndürür.
Herhangi bir out parametresine sahip değil.
Aşağıdaki değiştiricilerden herhangi biri sanal, geçersiz kılma, korumalı, yeni veya extern'e sahip değil.
Tüm bu kısıtlamalara (örneğin, yöntem) uymayan herhangi bir public virtual partial void yöntemin bir uygulama sağlamaları gerekir.
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, aşağıdaki desen kullanılarak bir regex tanımlanabilir:
[RegexGenerated("(dog|cat|fish)")]
partial bool IsPetMatch(string input);
Daha fazla bilgi için bkz. Kısmi Sınıflar ve Yöntemler.