Şu jenerik (Generics) kolleksiyon (Collections) sınıflarını çok iyi
akıl etmişler. Alışkanlık oldu özellikle .Net 3.5 ile birlikte her
kontrolün verikaynağına (datasource) generic sınıftan türemiş bir nesne
tanımlıyorum. Böyle olunca da binbir çeşit generic list ile iyi
anlaşmak gerekiyor. Bunlardan bir taneside Dictionary!. Fazla uzatmadan
koda geçeyim.
Dictionary
sınıfından bir nesneyi DataList veya GridView’e datasource olarak
atayacaksanız aşağıdaki aşağıdaki gibi hareket edebilirsiniz.
<asp:DataList ID="ParametreListesi" runat="server" Width="100%">
<ItemTemplate>
<dl>
<dt><label>Parametre</label></dt>
<dd><input id="Text1" type="text" style="width:150px;" value='<%# Eval("Value") %>' name='<%# Eval("Key") %>'/></dd>
</dl>
</ItemTemplate>
</asp:DataList>
Dictionary sınıfı ComboBox kullanırken de çok güzel gidiyor. O da şu şekilde kullanılabiliyor.
var tipler = new Dictionary();
tipler.Add(1, "String");
tipler.Add(1, "Int");
tipler.Add(1, "byte");
comboBox1.DataSource = tipler;
comboBox1.DisplayMember = "Value";
comboBox1.ValueMember = "Key";
Ek olarak Dictionary içinde KeyValuePair diye bir Structure hazırlamışlar. KeyValuePair’da aşağıdaki gibi gerçekleşiyor.
foreach( KeyValuePairkvp in tipler)
{
Console.WriteLine("Key = {0}, Value = {1}",
kvp.Key, kvp.Value);
}
Bu arada ceviz.net’te Ali Çehreli‘nin çevirdiği güzel bir yazı yayınlandı. Benim ilgimi çekti, belki sizinde çeker.