C# 4.0 gelirken kokusuda çoktan duyulmaya başladı. Yazılımcı için kolaylıklar sağlayacak yeni yöntemler geliştiriliyor olması çok güzel. Adil Mughal 'ın zahmet edip yazıp yayınladığı C# 4.0 için Optional Parameters ve Named Argument okuduktan sonra paylaşmak istedim.
http://adilamughal.blogspot.com/
http://www.codeproject.com/KB/cs/CSharp4_Features.aspx
public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Qualification { get; set; }
public string MiddleName { get; set; }
public Employee(string firstName, string lastName)
{
FirstName= firstName;
LastName= lastName;
Qualification= "N/A";
MiddleName= string.Empty;
}
public Employee(string firstName, string lastName, string qualification)
{
FirstName= firstName;
LastName= lastName;
Qualification= qualification;
MiddleName= string.Empty;
}
public Employee(string firstName, string lastName, string qualification, string middleName)
{
FirstName= firstName;
LastName= lastName;
Qualification= qualification;
MiddleName= middleName
}
}
C# 4.0 ile, sadece bir yapıcıyı "constructor" oluşturmaya ihtiyaç duyuluyor.
public Employee(string firstName, string lastName, string qualification = "N/A", string middleName = "")
{
FirstName= firstName;
LastName= lastName;
Qualification= qualification;
MiddleName = middleName;
}
Çok basit :) ve kolayca çağırabilirsin:
Employee(“Adil”,”Mughal”);
Employee emp= newoyee("Adil", "Mughal");
Yapıcıda "constructor" bazı opsiyonel parametreler örneği.
public Employee(string firstName, string lastName, string qualification = "N/A", string middleName = "")
Employee emp= new Employee("Adil", "Mughal");
Employee emp = new Employee("Adil", "Mughal", middleName: "Ahmed");
Query'i cevaplamak için yeteri kadar iyi. :). Employee constructor'da bazı değişiklikleri yapınca ve lastName opsiyonel oldu.
public Employee(string firstName, string lastName = "", string qualification = "N/A", string middleName = "")
Şimdi tamamen basit ve esnek Employee instantiate nesnesi olacaktır.
Employee("Adil", qualification:"BS");
Employee("ABC", lastName: "EFG", qualification: "BS");
Employee("XYZ", middleName: "MNO");
Hiç yorum yok:
Yorum Gönder