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:

  • Bildirimler, kısmi bağlamsal anahtar sözcüğüyle başlamalıdır.

  • Kısmi türün her iki tarafındaki imzaların eşleşmesi gerekir.

Oluşturucularda partial , 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 kısmi bir yöntemin uygulanması gerekmez:

  • Herhangi bir erişilebilirlik değiştiricisi (varsayılan özel dahil) yoktur.

  • Geçersiz 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.