CATEGORIES
>>
Dart(2)
>>
Errors(5)
>>
Android(11)
>>
Errors(1)
>>
Errors(2)
>>
Windows 8(3)
>>
iPhone7(1)
>>
Errors(4)
>>
Html(1)
RECOMMENDED SITES
C# Generics - basit ve örnekli anlatım
Generic(Genel), c# da kod yazarken birçok gereksiz tekrardan kurtarmayi saglayan bir özelliktir.
"Generic benim deyimim ile tip bagimsiz yazilan kod demektir."
Bir örnek: 3 tane Enum tipim olsun. Ben istedigim bir enum tipinin üyelerini, id leri ile birlikte bana döndürecek bir metod yazmak istersem? Burada her enum tipi için ayri metod yazilmasi gibi bir amele islemi olacaktir.
Bu sekilde metodu generic yaptim ve artik metod bir tip bekleyerek çalismaktadir. Tip parametre ile degilde metodun generic özelligi üzerinden aktarilir ve kod içerisinde asagidaki görüldügü gibi kullanilmaktadir.
Generic bir class, interface veya bir metod olabilmektedir. Örnegimizde metodu generic yaptik.
Not
Metodda parametre olarak tip gönderilemez. Bu nedenle ki biz metodu generic yapiyoruz oradan tasiyoruz.
C#'in Kendi Generic Tipine Bir Örnek
Örnegin: List sinifi generic bir siniftir. List<> içerisinde istedigimiz tipi yaziyoruz.
Generics, c#' in çok önemli ve güzel bir özelligidir.
"Generic benim deyimim ile tip bagimsiz yazilan kod demektir."
Bir örnek: 3 tane Enum tipim olsun. Ben istedigim bir enum tipinin üyelerini, id leri ile birlikte bana döndürecek bir metod yazmak istersem? Burada her enum tipi için ayri metod yazilmasi gibi bir amele islemi olacaktir.
public List<enumtipi1> GetEnumMemberList1()
{
....
}
public List<enumtipi2> GetEnumMemberList2()
{
....
}
public List<enumtipi3> GetEnumMemberList3()
{
....
}
Burada 3 metod yapildi çünkü her metodun dönüs tipi farklidir. Tipi de parametre olarak veremedigimizden böyle olmustur. Fakat c# generics ile metodlara dinamik tip gönderimi saglanmaktadir. Örnek:
public static Dictionary GetEnumMemberList<t>()
{
Dictionary enumList = new Dictionary();
foreach (T item in Enum.GetValues(typeof(T)))
{
enumList.Add(Convert.ToInt32(item), item.ToString());
}
return enumList;
}
Burada tek metod ile istedigim enum listesini dönebilirim. GetEnumMemberList metodu sonuna <t> ile dinamik tip alan metod olmasini sagliyoruz.Bu sekilde metodu generic yaptim ve artik metod bir tip bekleyerek çalismaktadir. Tip parametre ile degilde metodun generic özelligi üzerinden aktarilir ve kod içerisinde asagidaki görüldügü gibi kullanilmaktadir.
var enumMemberList1 = GetEnumMemberList<enumtipi1>();
var enumMemberList2 = GetEnumMemberList<enumtipi2>();
var enumMemberList3 = GetEnumMemberList<enumtipi3>();
Kimler Generic Olabilir? Generic bir class, interface veya bir metod olabilmektedir. Örnegimizde metodu generic yaptik.
Not
Metodda parametre olarak tip gönderilemez. Bu nedenle ki biz metodu generic yapiyoruz oradan tasiyoruz.
C#'in Kendi Generic Tipine Bir Örnek
Örnegin: List sinifi generic bir siniftir. List<> içerisinde istedigimiz tipi yaziyoruz.
Generics, c#' in çok önemli ve güzel bir özelligidir.
Author: Engin ATALAY
Date: 2.09.2016 18:35:07
View Count: 3745
COMMENTS
No comments yet. Be the first to comment who you are.