13 Mayıs 2009 Çarşamba

C# 4.0 Features

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: