Date Image Thursday, November 29, 2012 | Kategoriler | C#, Linq, Tümü

Linq Expression İle MethodInfo'nun Elde Edilmesi Ve Method Attribute Kullanımı

Reflection işlemleri ile uğraşırken kullanılan sınıflardan biri de MethodInfo sınıfıdır. Elimizde tipini bilmediğimiz bir nesne vardır ve bu nesne içinde varolduğunu bildiğimiz bir metodu çalıştırmak isteyebiliriz. Bu durumda bu nesne tipi içinde reflection yardımıyla GetMethod metodunu çağırarak parametre olarak metodun ismini geçtiğimizde bize MethodInfo tipinde bir nesne döner. Bu nesne içerisinde o metotla ilgili bilgiler bulunur.Invoke metodunu çağırarak metodu çalıştırabiliriz ya da sınıf içerisindeki diğer metot ve propertyleri kullanarak işlemler yapabiliriz.

Tipini bilmediğimiz bir nesne üzerinde bir metodun nasıl yakalanacağı ve nasıl çalıştırılabileceği hakkında çok basit ve kısa olarak teorik bilgiyi yukarıda verdim. Konumuz bu olmadığı için ne kadar kısa olursa o kadar iyi :). Şimdi, belli bir tipe ait metotları linq sorguları ile(lambda expression kullanarak) nasıl elde edebileceğimize bakacağız. Ayrıca, örnek olarak oluşturacağımız metot için custom bir attribute tanımlayıp MethodInfo nesnesi içerisinden bunu da görüntüleyeceğiz.

Etiketler : C# , Linq , Expression , Console , Reflection
Detay
Date Image Wednesday, July 27, 2011 | Kategoriler | Asp.Net, C#, LLBLGen Pro, Sql, Tümü

LLBLGen Pro 3.0 Bulk Insert

Projelerde kullanılan orm araçları iş yükünü hafifleterek developerların zaman kazanmasını sağlamaktadır. Günümüzde orm araçlarına bakış açıları değişkenlik gösterebilmektedir. Her şirket, her developer kendince haklı nedenlerden dolayı orm araçlarını kullanır ya da kendi orm kütüphanelerini geliştirebilir. Ancak şöyle bir gerçek var ki o da zamanın önemi çok büyüktür.

Orm konusunda kısaca bir kaç cümle kurduktan sonra konumuza geri dönüyorum. Orm araçlarından LLBLGen Pro ile ilgili küçük bir işlem yapacağız.

Sql Server tarafında kullancağımız database diyagramı aşağıdaki gibidir :

Etiketler : .Net , C# , Koleksiyonlar , LLBLGen Pro , Orm
Detay
Date Image Saturday, November 27, 2010 | Kategoriler | C#, Tümü

SortedList Ve SortedSet Koleksiyonları

Koleksiyonların listelenmesi bir çok uygulama tarafından kullanılabilir. Bu koleksiyon içerisinde string, integer, object ya da custom bir class bulunabilir. Bir koleksiyonun sıralanarak listelenmesi istendiğinde bir çok yol kullanılabilir. Bir döngü içerisinde tüm öğeler birbirleriyle karşılaştırılarak sıraları değiştirilebilir.

Bu makalenin konusu elbette sıralama algoritmaları değil. Burada .Net Framework içerisinde bulunan “SortedList” ve “SortedSet” koleksiyonlarından bahsedeceğiz. Bu koleksiyonlar ile ilgili bazı temel bilgileri anlamaya çalışacağız.
Öncelikle bilinen değişken türleri ile koleksiyonlar oluşturup nasıl sıralama yapıldığına bakacağız. Daha sonra custom bir sınıf hazırlayarak bu sınıfın tipinde değişkenlerle oluşturacağımız koleksiyonların davranışlarına bakacağız.Burada kullanacağımız koleksiyonlar generic koleksiyonlar olacaktır.

Detay
Date Image Saturday, October 23, 2010 | Kategoriler | Sql, Ado.Net, Asp.Net, C#, MVC, Tümü

Asp.Net MVC 2 Veri Sayfalama - 1 : Sql

Yazılım uygulamalarının en çok tekrar eden bölümlerindendir veri sayfalama. Bazen vakit kaybı bazen de önemli bir çalışma olarak adlandırılabiliyor. Bu yazımda, başlamak istediğim veri sayfalama serisinin ilk ayağı olan sql server tarafında sayfalamadan bahsedeceğim. Sql server tarafında derken, sayfalama işlemlerinde, tek bir sayfada gösterilmesi gereken dataların sql server üzerinde karar verilmesi ve geriye sadece istenen sayfaların dönmesini istiyoruz.

Etiketler : .Net , Asp.Net , Orm , MVC2 , Sql , Sql Server 2008 , MVC3 , Northwind
Detay
Date Image Sunday, March 21, 2010 | Kategoriler | Ado.Net, Asp.Net, C#, Html, Css, Javascript, Linq, Xml, Genel, WCF, Web Service, GDI+, Sql, Ajax, MVC, Entity Framework, Silverlight, Tümü

Units Of Work Kavramı - Giriş

Yazılım sürecinde oluşturulan sistemin kalite kontrolü unit testleri ile yapılır.
Unit genellikle bir sınıftır,test ortamında oluşturulup o nesnenin çeşitli metodlarını çağırılarak, çeşitli alanlarını değiştirerek, kısacası üzerinde işlem yaptıktan sonra ortaya çıkan sonuçların beklendiği gibi gerçekleşip gerçekleşmediğinin sınandığı bir test çeşididir.

Etiketler :
Detay
Date Image Saturday, February 13, 2010 | Kategoriler | Asp.Net, C#, Tümü

.Net Framework 4 Dynamic İle Reflectiona Gerek Kalmadan Nesneler Oluşturmak Ve Çözümlemek

   Bu yazıda .Net Framework 4 ile birlikte gelen dynamic tipini kısaca inceleyeceğim. Daha önce yazmış olduğum İsimsiz Tipler(Anonymous Types) makalesinde ”var” keywordü ile yeni bir nesne oluşturuduktan sonra bu nesnenin özelliklerinin kullanılması için Reflection dan yararlanmak zorunda kaldığımızı anlatmıştım.

   Şimdi ise .Net Framework 4 ile birlikte bu işlemlere gerek kalmadan runtime(çalışma zamanı) da veriyi çözümleyebilen bir tip olan “dynamic” i göstermeye çalışacağım. Bu makaleyi  iş,sınavlar  vs. dolayısıyla  yayınlamakta biraz geç kalsam da, merak edilen önemli bir konu olduğunu düşünerek faydalı olacağını düşünüyorum.

Etiketler :
Detay
Date Image Friday, January 1, 2010 | Kategoriler | C#, Tümü

Api Kullanarak İnternet Bağlantısı Var Mı Yok Mu Kontrol Etmek

class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("Bağlantı {0}",IsConnectedToInternet()?"Var":"Yok");

            Console.ReadLine();

        }

 

Etiketler :
Detay
Date Image Saturday, October 24, 2009 | Kategoriler | Ado.Net, Asp.Net, C#, Tümü

Veritabanından Gelen Verilerin Excel Çıktısı Alındığında Türkçe Karakterlerin Görünmeme Sorunu

   Bir süre önce, veritabanından gelen bilgileri bir datalistte görüntüledikten sonra istendiğinde bu listenin excel çıktısının alınabilmesi gerekiyordu.

   Bunun için runtimeda datalisti bir form içine alıp bu formu render ederek saya çıktısı olarak aldım. Tabi sayfaya bir header ekleyerek çıktının attachement olarak verilmesini, yani, download edilebilir şeklinde olmasını sağladım.

Etiketler :
Detay
Date Image Saturday, October 17, 2009 | Kategoriler | C#, Tümü

System.Net.NetworkInformation Ping Sınıfı İle Ping İşlemini Yapalım

    Ping işlemini tanımak ilk olarak; "başlat'a tıklanır,run penrecesi açılır oraya cmd yazılır ve console ekranı açılır.Ekrana ping [ip adres] girilip enter a basılır" şeklinde başlar.Ben kısa bir örnek yaptım, örneğin amacı sadece NetworkInformation ı incelemekti ama ping olayı ilgi çeker diyerek sadece bu işlemi ele alan bir yeni bir console yazdım.

Şimdi örneğimize bakalım;

Etiketler :
Detay
Date Image Wednesday, October 7, 2009 | Kategoriler | C#, Linq, Sql, Tümü

Bir Soru Üzerine Linq İle Kayıt İşlemleri Yaparken Son Eklenen Kaydın IDsini Almak

   Bana sorulan bir soru üzerine, linq to sql kullanan bir arkadaşın kaydettiği makaleden sonra, makale idsini alarak bir yönlendirme yapmak isteğine cevap olarak;

 

public int CreateArticle(Article article)

        {

            db.Articles.InsertOnSubmit(article);

            db.SubmitChanges();

            return article.ArticleID;

        }

   Görüldüğü gibi article türünde bir nesne bana geliyor ben de, db olarak adlandırdığım data contextin article tablosuna submit işleminde kaydet diyorum.Buraya kadar zaten bilinen şeyler. SubmitChanges() metodu ile kaydı gerçekleştiriyorum. Kayıt yapıldı şimdi de idyi alalım. Bu en kolayı sanırım. Bana gelen article nesnesinin ArticleID propertysini geri döndürüyorum. Yani bir nesne hazırlayıp bunu Data Context e kaydettikten sonra yine bu nesne üzerinden, veritabanında bulunan otomatik artan bir alandan gelen bilgiyi çekebiliyoruz. Sql Serverdaki scope_identity() gibi.

 

Etiketler :
Detay
1 2
serdarsert.com Rss
Facebook | Serdar SERT
Twitter | Serdar SERT