Giriş
.Net ile gelen partial class özelliği iki şeye yarıyor.
1. Kodun Farklı Dosyalara Bölünmesi
Açıklaması şöyle.
God object şeklindeki çok büyük sınıfları okunabilirlik için daha küçük dosyalara bölmek için de kullanıldığı belirtilmiş. Mesela büyük sorguların başka bir sınıfta tanımlanması iyi bir örnek olabilir. Dolayısıyla partial sınıfı bir çeşit region'a dönüşüyor.
2. Kod Üretilmesi
Klasik nesne türetme (inheritance) yapmaya gerek kalmadan bir sınıfın daha ileri bir zamanda yazılma imkanının olması. Bir nevi "abstract metod" yazmaya benziyor ancak daha esnek bir yapı çünkü işin içine nesne türetme girmiyor.
Örnek - Kodun Farklı Dosyalara Bölünmesi
Elimizde farklı dosyalarda olan şöyle bir kod olsun.
Aşağıda bu işi gösteren bir örnek var.
Partial Class kullanımı genellikle üretilen (generated) kod için tercih ediliyor.
Diğer
Access Modifier
Partial class tanımlamalarından hepsine aynı acces modifier tanımlamasını yapmak gerekir.
Örnek
Şöyle yaparız..
.Net ile gelen partial class özelliği iki şeye yarıyor.
1. Kodun Farklı Dosyalara Bölünmesi
Açıklaması şöyle.
God ObjectWhen working on large projects, spreading a class over separate files enables multiple programmers to work on it at the same time.
God object şeklindeki çok büyük sınıfları okunabilirlik için daha küçük dosyalara bölmek için de kullanıldığı belirtilmiş. Mesela büyük sorguların başka bir sınıfta tanımlanması iyi bir örnek olabilir. Dolayısıyla partial sınıfı bir çeşit region'a dönüşüyor.
2. Kod Üretilmesi
Klasik nesne türetme (inheritance) yapmaya gerek kalmadan bir sınıfın daha ileri bir zamanda yazılma imkanının olması. Bir nevi "abstract metod" yazmaya benziyor ancak daha esnek bir yapı çünkü işin içine nesne türetme girmiyor.
Örnek - Kodun Farklı Dosyalara Bölünmesi
Elimizde farklı dosyalarda olan şöyle bir kod olsun.
public partial class Foo //Foo.cs
{
public void PrintMessage1()
{
Console.WriteLine("Foo1");
}
}
public partial class Foo //Foo1.cs
{
public void PrintMessage2()
{
Console.WriteLine("Foo2");
}
}
public partial class Foo //Foo3.cs
{
public void PrintMessage3()
{
Console.WriteLine("Foo3");
}
}
Şöyle yaparız.public static void Main()
{
Foo foo = new Foo();
foo.PrintMessage1();
foo.PrintMessage2();
foo.PrintMessage3();
}
Örnek - Sınıfın İskeletinin Tanımlanması ve Kodun ÜretimesiAşağıda bu işi gösteren bir örnek var.
Partial Class kullanımı genellikle üretilen (generated) kod için tercih ediliyor.
Diğer
Access Modifier
Partial class tanımlamalarından hepsine aynı acces modifier tanımlamasını yapmak gerekir.
Eğer sadece bir tanesine access modifier tanımlanmış ise diğeri de aynı özelliğe sahip oluyor.All the parts must have the same accessibility, such as public, private, and so on.
Örnek
Şöyle yaparız..
public partial class Form1 : Form
vepartial class Form1
Hiç yorum yok:
Yorum Gönder