31 Mart 2015 Salı

C Sharp Polimorfizm Kullanımı

Yorum Bırak
Polimorfizm Yunanca'da birçok şekil anlamında kullanılmaktadır. Yazılım dilinde ise bir nesnenin başka bir nesneymiş gibi davranabilmesine polimorfizm deniyor. Polimorfizm başlığı altnda inceleyeceğimiz birkaç detay var.


   using System;
    namespace Polymorphism
    {
        class A
        {
            public void Foo() { Console.WriteLine("A::Foo()"); }
        }

        class B : A {}

        class Test
        {
            static void Main(string[] args)
            {
                A a = new A();
                a.Foo();  // çıktı --> "A::Foo()"

                B b = new B();
                b.Foo();  // çıktı--> "A::Foo()"
            }
        }
    }
Yukardaki kod bloğunu incelediğimizde Bir A classı ve bu classtan türemiş bir B classı görmekteyiz. A classı  kendi içerisinde Foo adlı bir metod içermekte ve bu metod ekrana bir yazı bastırıyor. B classı da A classından türediği için, A classı içerisinde tanımlanmış olan Foo metodunu çağırıp kullanabilir. Ekran çıktılarını kod içerisinden de görebiliriz.

Virtual and Override Keywordleri 

Ancak bazen  A classında tanımlanmış olan bu metod yetersiz kalabilir ve buna bizim ekleyeceğimiz ekstra işlemler olabilir. Bu durumda A classında tanımlanmış olan bu metodu B classında override etmek durumundayız. Aşağıdaki kodu inceleyecek olursak:

 using System;
    namespace Polymorphism
    {
        class A
        {
            public virtual void Foo() { Console.WriteLine("A::Foo()"); }
        }

        class B : A
        {
            public override void Foo() { Console.WriteLine("B::Foo()"); }
        }

        class Test
        {
            static void Main(string[] args)
            {
                A a;
                B b;

                a = new A();
                b = new B();
                a.Foo();  // çıktı--> "A::Foo()"
                b.Foo();  // çıktı--> "B::Foo()"

                a = new B();
                a.Foo();  // çıktı--> "B::Foo()"
            }
        }
     }


Burada A classındaki metodu B classında override edebilmemiz için, A classındaki metodun başına virtual keywordünü eklememiz gerekmektedir. B classında da A classında yazdığımız metodu ezmek için başına override keywordünü ekliyoruz. Sonuç olarak her class kendi instance'ı içerisinde tanımlanmış metodun içerisindeki işlemlere ait çıktıyı alacaktır.

     A a = new B();
                a.Foo();  // çıktı--> "B::Foo()"
Ancak yukarıdaki gibi A classının instanceını alırsak, çıktımız B classı içerisinde override etmiş olduğumuz metodun içerisindeki işlemler sonucu elde edilen çıktı olacaktır.

Metod Gizleme (Metod Hiding)

Eğer yukarıdaki gibi A classının instance'ını aldığımızda A classı içerisindeki Foo metodunun çalışmasını istiyorsak,  B classının içindeki Foo metodunu tanımlarken override değil new keywordünü kullanmamız gerekir. Aşağıdaki kod bloğundan bu kullanımı görebilirsiniz:


Yazıyı Oku

12 Mart 2015 Perşembe

Asp.Net UI ve Raporlama Araçları

Yorum Bırak
Aşağıda projelerimizde(C#, VB.NET, Winform, WPF, ASP.NET, Silverlight, Windows Phone, Mono) kullanabileceğimz 3. parti arayüz ve raporlama araçlarının kategorilere ayrılmış şekilde referanslarını bulabilirsiniz:
Yazıyı Oku

Asp.Net Mvc İle Birlikte AngularJs Kullanımı

Yorum Bırak
Bu yazımda .Net Mvc projelermizde angularJs'i nasıl kullanacağımızla ilgili basit bir örnek yapacağız. Bu örneği siz kendiniz farklı verilerle daha da geliştirebilirsiniz.

Öncelikle Visual Studio'dan yeni boş bir Mvc projesi oluşturuyoruz.
Yazıyı Oku

11 Mart 2015 Çarşamba

Asp.Net Mvc Öğrenmek İçin Faydalı Kaynaklar

Yorum Bırak
Asp.Net Mvc öğrenmeye başlayacaklar için faydalı olabilecek birkaç kaynağı sizlerle paylaşmak istiyorum:

Yazıyı Oku

10 Mart 2015 Salı

Asp.Net Mvc Server Validation Kullanımı

Yorum Bırak
Asp.Net Mvc'de server taraflı validasyon kullanmak istiyorsak, projemiz içinde kullandığımız modelin property'lerine çeşitli anotasyonlar verebiliriz. Ve bu anotasyonlarla gelen validasyonlardan geçerse veri görüntülenir, geçmezse kullanıcıya uyarı verilir. Örneği aşağıdan inceleyebiliriz:
Yazıyı Oku

Asp.Net Mvc RedirectToAction Kullanımı

Yorum Bırak
Asp.Net Mvc'de bulunduğumuz  controller'dan başka bir controller'ın parametre içeren bir metoduna yönlendirme yapmak istiyorsak aşağıdaki kod örneğini  kullanabiliriz:

Yazıyı Oku

9 Mart 2015 Pazartesi

.Net Mvc Javascript İçerisine Razor Kullanımı

Yorum Bırak
.Net Mvc'de duruma göre Javascript kodları içerisinde Razor syntax'ı kullanmamız gerekebilir. Özellikle sunucu tarafından aldığımız değerleri model ile değil de javascript ile view tarafına yansıtacaksak bu durumda buna ihtiyaç olmaktadır.

Yazıyı Oku

.Net Mvc Error Handling

Yorum Bırak
Asp.Net Mvc'de hata kodlarını aşağıdaki gibi detect edip buna uygun olarak, Application error kısmında, bir hata sayfasına yönlendirme yapabiliriz:

Yazıyı Oku

6 Mart 2015 Cuma

.Net Mvc Controller'dan String Result Döndürme

Yorum Bırak
Controllerdan View'e string döndürmek için aşağıdaki gibi ContentResult kullanılabilir:

Yazıyı Oku