C Sharp’da Partial Class

C Sharp’da Partial Class
C Sharp’da Partial Class
Yazılım Kodu Kanalına Abone Olun

Herkese merhaba,

Bu yazıda C Sharp’da Partial Class ile ilgili bilgi vermeye çalışacağım.

Partial Class’a genel olarak tek bir classın birden fazla parçaya bölünmesi olayıdır diyebiliriz.

Kısmi Sınıf (Partial Class) C# 2.0 ve Visual Studio 2005 ile gelen yeni bir özelliktir. .NET Framework 2.0 tarafından da desteklenir.

Yazmış olduğunuz Class’da yüzlerce field, yüzlerce metot ve onlarca değişken olsun. Böyle bir Class yapısı karmaşıklığa neden olur ve sade görünmez. Partial Class yapısı tam bu noktada bizlere yardımcı olacaktır.  Bizleri bu karmaşık durumdan çıkarmak için oluşturduğumuz Class’ı Partial anahtar kelimesini kullanarak iki yada daha fazlaya yapıya bölebiliriz. Bunun ilk şartı Class isimlerinin aynı olmasıdır.

Partial Class, sınıf (Class) için kullanılabildiği gibi, yapı (Struct) ya da arayüz (Interface) için de kullanılabilmektedir.

Partial Class’lar derleyici için normal bir sınıftan farklı değildirler. Oluşturulan bütün Partial Class’lar derleyici için tek bir sınıf olarak görünür. Partial Class’lar birleştirildikten sonra derlendiği için farklı yazılım dillerinde oluşturulup daha sonra birleştirilemezler. Ayrıca oluşturulan Partial Class’lar parça parça farklı derleyicilerle de derlenemez. Hepsi tek bir derleyici ile derlenmelidir.

Partial Class, Visual Studio tarafından, özellikle web sayfalarının temel konsepti olan arka plan kodlarının bulunduğu dosyalarda oldukça fazla kullanılmaktadır.

Partial Class Avantajları

Büyük yazılım projelerinde kısmi sınıf önemlidir. Bu sayede tek bir sınıf üzerinde birden fazla yazılımcı aynı anda çalışma imkanı bulur.

Partial Class yapısı Windows formlar vs gibi yerlerde Microsoft tarafından kullanır. Visual Studio tarafından oluşturulan bu Partial Class yapısını değiştirmeden bu sınıfları kullanabilen kodlar yazılabilmektedir.

Partial Class yapısı; OOP yapısında, büyük ölçekli projelerde, büyük Class’ larda hata denetimini ve kontrol mekanizmasını daha da arttırmak için yazılır. Karmasa oluşturmamak, nesneyi hemen bulmak için etkili bir yöntemdir.

Partial Class Kullanırken Dikkat Edilmesi Gerekenler

  1. Bütün Partial Class’larda, “Partial” anahtar kelimesi bulunmalıdır.
  2. Bütün Partial Class çeşitleri aynı modül ve derleyici içinde aynı türler için tanımlanmalıdır.
  3. Herhangi bir Partial Class mühürlenirse, bütün sınıf mühürlenir.
  4. Herhangi bir Partial Class soyutlanırsa, bütün sınıf soyutlanır.
  5. Bütün Partial Class örnekleri aynı erişilebilirlikte olmalıdır.
  6. Herhangi bir Partial Class türündeki kalıtım bütün sınıfa uygulanır.
  7. Partial Class’ın her bir parçasının adı aynı olmalıdır, fakat Partial Class’ın her bir parçası için kaynak dosya adı farklı olabilir.
  8. Partial Class bir sınıfın her bir parçası aynı derlemede veya DLL’de olmalıdır, başka bir deyişle, farklı bir sınıf kitaplığı projesinin kaynak dosyalarında Partial Class oluşturamazsınız.

Partial Class ile hazırlamış olduğum örneği görmektesiniz.

using System;
					
public class Program
{
	public static void Main()
	{
		
		 OrnekSinif ornek=new OrnekSinif();
		 ornek.Id=10;
		 ornek.Ad="Yavuz Selim";
		 ornek.Metot1();
		
	}
	
    public partial class OrnekSinif
    {
        public int Id { get; set; }
        public string Ad { get; set; }
        public string Soyad { get; set; }
     }
	
	
    public partial class OrnekSinif
    {
        public void Metot1()
        {
           // Yazılacak kodlar
        }
 
        public void Metot2()
        {
          // Yazılacak kodlar
        }
     }
	
}

Yukarıda görüldüğü üzere iki adet aynı sınıf ismi bulunmakta ve bunlar Partial Class’tır. Class yapımızın adı : OrnekSinif’tır.

Birisinin içerisinde Property’ler bulunmaktayken diğerinin içerisinde metotlar bulunmaktadır.

C Sharp’da Partial Class ile anlatacaklarım bu kadar.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

Aşağıdaki yazıları da inceleyebilirsiniz...

Sitedeki yazıları kopyalamak yasaktır.