INETA Fazla Mesai

bahadirarslan tarafından yazılmıştır. 4. Mayıs 2010 23:35

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , ,

Duyurular | General | Haberler | Visual Studio

Yazılarınızla Destek Olmak İster misiniz?

bahadirarslan tarafından yazılmıştır. 3. Mayıs 2010 11:43

Tamamen gönüllü olarak yürütmeye çalıştığımız "Bilgi Paylaşımı" işinde sizin de söylemek istedikleriniz varsa yazılarınızı yayınlamak için bekliyoruz.

Microsoft .Net teknolojileri ile ilgili yazılarınız varsa ve MaxiASP.Net te yayınlanmasını istiyorsanız bize İletişim bölümünden ulaşabilirsiniz.

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Duyurular | General | Haberler

Etkinliğin Ardından

bahadirarslan tarafından yazılmıştır. 3. Mayıs 2010 00:37

1 Mayıs Cumartesi günü, uzun zamandır hazırlandığımız .Net 4.0 Launch etkinliğimizi gerçekleştirdik. Etkinlik kayıtlarına baktığımızda 200'e yakın bir kayıt aldık; hatta etkinlik süresince bile kayıt gelmeye devam ediyordu. Ancak özellikle sabah saatlerinde etkinlik salonuna gelen katılımcı sayısı beklediğimizin biraz altındaydı. Sanıyorum bunun en büyük sebebi 1 Mayıs olması, Cumartesi günü için erken bir saat olması ve internetten de yayınlanıyor olmasıydı. İlerleyen saatlerde ise bizi Microsoft Türkiye'de yalnız bırakmayan katılımcıların sayısı 40'ı bulmuştu.

Bu etkinlik için Radore Hosting'de bizim gibi uzun zamandır hazırlanıyordu. Yayının en iyi şekilde ve kesintisiz olarak izleyicilere ulaşabilmesi için test üstüne test yapıyorlardı. Etkinlik gününde ise 2 Laptop, 1 Switch, metrelerce kablo, 1 HD el kamerası, 1 web cam, 1 tripod ve 3 personel ile sabah 08:30'da Microsoft Türkiye'de hazırlardı. Hazırlıkları sayelerinde oturumlarda ortlama 60 kişi herhangi bir kesilme yaşamadan, kaliteli bir yayını sorunsuzca izledi.

Etkinliği Microsoft Türkiye'de gerçekleştirmemizi sağlayan Ineta'nın Türkiye Başkanı Daron Yöndem de sabah 07:30 Microsoft Türkiye'ye ye gelmiş bizi bekliyordu.

Etkinlik gün içerisinde sona kadar sıkıntısız olarak devam ederken; Emre TOPTANCI tarafından verilen TFS 2010 etkinliğinin son yarım saatinde Microsoft Türkiye'de internet bağlantısı kesildi. Dolayısı ile hem Live Meeting hem de Radore'nin yayını kesildi. Radore etkilik sonuna kadar kayıt almaya devam etti; ancak bilgisayarları başında bizleri izleyen kişiler ne yazık ki bunları göremedi.

Günün sonunda ise bizleri yalnız bırakmayan 4 katılımcıya Ineta'dan 4GB'lık Visual Studio 2010 USB Bellek, 20'den fazla kişiye Radore'den 6 aylık VDS ve 1 kişiye Visual Studio 2010 posteri hediye ettik.

Son olarak, etkinliğe sunumları ile katılan Emre Toptancı, Burak Sarıca ve Aytaç Özay'a; bizi yalnız bırakmayan ve gerek internetten gerekse fiziksel olarak Microsoft Türkiye'de bizi izleyen katılımcılara ve bizlere destek olan Microsoft Türkiye, Ineta ve Radore Hosting'e teşekkür ederim.

Etkinlik ile ilgili fotoğraflara bu adresten ulaşabilirsiniz; sunum ve demoları da çok yakında sizlerle paylaşıyor olacağız.

Daha iyi etkinlikler için sizlerden yorumlarınızı bekliyoruz..

6 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , ,

Duyurular | General | Haberler

MaxiASP.Net .Net 4.0 Launch Player Sunucu Görünümü

bahadirarslan tarafından yazılmıştır. 1. Mayıs 2010 09:49
Etkinlik yayını bitmiştir.

6 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

MaxiASP.Net .Net 4.0 Launch Player Sunum Görünümü

bahadirarslan tarafından yazılmıştır. 1. Mayıs 2010 09:15

Etkinlik yayını bitmiştir.

5 kişi tarafından 4.2 olarak değerlendirildi

  • Currently 4,2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

MaxiASP.Net .Net 4.0 Launch Live Meeting Adresleri

bahadirarslan tarafından yazılmıştır. 1. Mayıs 2010 09:09

Etkinlik yayını bitmiştir.

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

MaxiASP.Net .Net 4.0 Launch Etkinlik Programı

bahadirarslan tarafından yazılmıştır. 30. Nisan 2010 13:45

MaxiASP.Net .Net 4.0 Launch

1 Mayıs 2010 Cumartesi / Microsoft Türkiye

12 Nisanda duyurulan yeni .Net Framework 4.0 ve Visual Studio 2010 ile ilgili tüm bilgileri 1 Mayıs 2010 Cumartesi günü sizlerle paylaşıyoruz. Eğer yeni versiyonlardaki yeniliklerle tanışmak istiyorsanız, sizi de bekliyoruz.

Kayıt

Etkinliğe kayıt olmak için http://www.maxiasp.net/maxiasp_net_net_4_0_launch.aspx adresini ziyaret edebilirsiniz.

Canlı Yayın

Etkinlik gün boyunca Radore Hosting tarafından canlı olarak yayınlanacaktır.

Canlı yayın adresi: http://dev10.radore.com

Etkinlik İçeriği ve Programı

C# 4.0

10:00 – 11:45

Aytaç Özay

Anadolu Bilişim Hizmetleri

2.0 ile Gelen Yenilikler

§ Generics

§ Iterators

§ Partial Classes

§ Nullable Types

§ Anonymous Methods

§ Static Classes

§ External Assembly Alias ( extern keyword)

§ Property Accessor Accessibility

§ Covariance and Contravariance in Delegates 

§ Simplified use of Delegates 

§ Simplified use of Delegates 

§ Inline warning control

3.0 ile Gelen Yenilikler

§ Implicitly typed local variables and arrays

§ Auto-implement properties

§ Object and collection initializers

§ Extension methods

§ Anonymous types

§ Lambda expressions

§ Query keywords (LINQ)

§ Partial method definitions

4.0 Yenilikleri

§ Dynamic lookup

§ Named and optional parameters

§ COM spesific interop parameters

§ Variance

ASP.Net 4.0

12:00 – 12:45

Bahadır Arslan

Anadolu Bilişim Hizmetleri

Değişiklikler

§ Web Config Değişiklikleri

§ Snippetler

§ Proje Templateleri

§ Multi Targetting Support

§ Code Optimized Development Profile

§ Daha Temiz HTML Kodları

Yenilikler

§ Chart Kontrolleri

§ Output Caching

§ SEO Improvements

§ Routing

§ Auto Start 

§ Optional Parameters

WPF 4.0 & Silverlight 4.0

13:00 – 13:45

Burak Sarıca

KoçSistem

Silverlight 4.0 Yenilikleri

§ Webcam ve mikrofon deseteği

§ Multi-touch desteği

§ Drag'n drop, sağ klik menü, mouse wheel desteği

§ Google Chrome desteği

§ 31 yeni dil, sağdan sola yazılan diller

§ Derlenmiş kodun hem masaüstü hem de silverlight için çalıştırılması

§ 60'tan fazla form kontrolü

§ Multicast networking

Masaüstü modunda

§ HTML browser desteği

§ taskbar mesajları

§ Offline DRM

Full Trust ile

§ COM automation

§ MyDocuments, MyMusic, MyPictures and MyVideos klasörlerine erişim

§ cross-domain networking. 

Neden WPF  ve 4.0 Yenilikleri

§ Neden WPF?

§ DataGrid

§ Calendar

§ DatePicker

§ Multitouch

§ Cached Composition

§ Pixel Shader 3

§ HTML-XBAP Script Interop

§ Full-Trust XBAP Deployment

§ JumpList TaskbarItemInfo vs.

§ System.Windows.Shell

TFS 2010

15:00 – 16:00

Emre Toptancı

Anadolu Bilişim Hizmetleri

 

Setup & Architecture

§ Easy Setup

§ Project Collections

§ NLB (Multi AppTier and Multiple SQL support)

§ Single DB

Administration

§ MOSS & WSS Dashboards

§ Admin Console

§ Project Collection Move / Archive / Restore

Source Control

§ Branching

§ Gated  Check-ins

§ Rollback

§ Build Agents & Windows Workflow based Builds

§ Symbol Server & source Server support

 Work Item Tracking

§ Links & Hierarchy

§ RchText

§ Excel Integration

§ Excel Reporting

§ MSProject Integration

§ Quieries

 Testing

§ Test Scenarios

§ Camano

§ Test Results & Work Items

MultiPlatform support & plans

§ .NET

§ Java (Acquisition of Teamprise)

§ Axapta

Ulaşım

Microsoft Türkiye
Bellevue Residence Levent Mahallesi, Aydın Sokak. No:7 Levent, 34340 İstanbul/Türkiye 
Tel: +90-(212) 370 5555 

Google Maps 

Sponsorlar

INETA (International .Net Association)

http://www.inetatr.org

INETA Microsoft’un desteği ile kurulan ve dünya çapında  .NET yazılım teknolojileri çerçevesinde sosyal topluluklara katkıda bulunan bir yapılanmadır. North / Latin America, Europe, MEA, Asia Pasific gibi bölgelerde yapılanan INETA, Türkiye’de INETA Türkiye olarak temsil ediliyor ve MEA bölgesine bağlı olarak çalışıyor.INETA’nın üyeleri ise, Türkiye’de toplam 36 sosyal topluluk bulunmaktadır. Bunların bazıları teknoloji odaklı web siteleri üzerinden çalışmalarını yürüten online topluluklar, bazıları ise üniversitelerin bilişim kulüpleridir

Radore Hosting

http://www.rh.com.tr

Uzun yıllardır, web hosting sektöründe çeşitli konumlarda çalışan uzman bir ekibin bir araya gelmesi ile kurulan Radore Hosting’in temel amacı, kaliteli hosting servisleri sunmaktadır. RH, sektördeki bilgi ve tecrübesini müşterileri ile paylaşarak müşteri memnuniyetini en son ön planda tutmayı hedeflemiş bir telekomünikasyon şirketidir.
(http://www.rh.com.tr/profil/radore.aspx adresinden alınmıştır)

 

 

 

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , , ,

Duyurular | General | Haberler

SQL Server 2008 R2 Hazır

bahadirarslan tarafından yazılmıştır. 28. Nisan 2010 15:55

Microsoft arka arkaya yazılımlarının yeni versiyonlarını çıkarmaya devam ediyor.

12 Nisan'da Visual Studio 2010'u ve .Net Framework 4.0'ı duyuran Microsoft,

27 Nisan'da da SQL Server 2008 R2'yi kullanıcılara sundu.

SQL Server 2008 R2'yi veya SQL Server 2008 R2 Express'i denemek için bu adresten indirebilirsiniz.

2 kişi tarafından 4.5 olarak değerlendirildi

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: ,

SQL Server

MaxiASP.Net .Net 4.0 Launch Etkinlik Programı

bahadirarslan tarafından yazılmıştır. 15. Nisan 2010 17:12

MaxiASP.Net 4.0 Launch Etkinliğinin programını buraya tıklayarak indirebilirsiniz.

İndirmek için tıklayınız

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , , ,

Microsoft Zirvesi Kayıtları Başladı

bahadirarslan tarafından yazılmıştır. 14. Nisan 2010 16:40

Microsoft 5 farklı ürününün tanıtımını yapacağı büyük lansmanın kayıtlarını açtı. 

17-18 Mayıs 2010'da İstanbul'da ve 1 Haziran 2010 da Ankara'daki etkinlikte yerli ve yabancı 30 konuşmacı, konuşma yapacak.

Microsoft'un Office 2010, Sharepoint 2010, Project 2010, Visio 2010, SQL Server 2008 R2 ürünlerinin lansmlanlarının yapılacağı etkinliğe kayıt olmak için tıklayınız.

http://www.microsoftlansman2010.com/

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , , , ,

Duyurular | Haberler | Office System | Sharepoint | SQL Server

MaxiASP.Net .Net 4.0 Launch Kayıt Sayfası Açıldı

bahadirarslan tarafından yazılmıştır. 14. Nisan 2010 01:17

1 Mayıs 2010 Cumartesi günü gerçekleştireceğimiz MaxiASP.Net .Net 4.0 Launch etkinliği için kayıt sayfamız açılmıştır.

Lütfen sayfamızı ziyaret ederek kayıt olunuz.

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , ,

Duyurular | General | Haberler

Visual Studio 2010 Release'nin Ardından...

bahadirarslan tarafından yazılmıştır. 13. Nisan 2010 11:42

Microsoft'un dün gece TSİ 20:00'da indirilmesine izin verdiği Visual Studio 2010 sonunda final sürümü ile gün yüzüne çıktı.

WebsiteSpark/BizSpark/DreamSpark üyeleri de MSDN hesaplarından yeni Visual Studio'larına kavuştu.

Microsoft'un önemli isimlerinden Scott Guthrie VS 2010 lansmanı adına herşeyi toparlayıp bir yazı yazmış, ayrıca Twitter'dan yazdığına göre de Silverlight 4'te bu hafta duyurulacakmış.

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: ,

.Net Framework | Duyurular | General | Haberler | Silverlight | Visual Studio

MaxiASP.Net Forumları Tekrar

bahadirarslan tarafından yazılmıştır. 12. Nisan 2010 23:23

Uzun zaman aradan sonra MaxiASP.Net Forumları geri döndü. 

Henüz daha beta aşamasında olan forum yapılanması da sizin katkılarınız ile gelişecek.

Ayrıca, sitemizin şu anki alt yapısını oluşturan BlogEngine ile forum alt yapısını oluşturan Yaf Another Forum üyelikleri entegre edildi. Böylece forum üzerinden kayıt olduğunuz zaman sitemizi de aynı üyelik ile kullanabilirsiniz.

Foruma gitmek için tıklayınız.

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , , ,

Duyurular | General | Haberler

Visual Studio 2010 Trial Versiyonları İndirmeye Açıldı...

bahadirarslan tarafından yazılmıştır. 12. Nisan 2010 19:50

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , ,

.Net Framework | Duyurular | General | Haberler | Visual Studio

Visual Studio 2010 ve .Net Framework 4.0 Hazır

bahadirarslan tarafından yazılmıştır. 12. Nisan 2010 10:35

Microsoft uzun zamandır üzerinde çalıştığı .Net Framework 4.0 ve tamamen yenilediği Visual Studio 2010'u bugün duyuruyor.

Daha önce Beta, Beta 2 ve RC sürümleri çıkan Visual Studio 2010'un bugün nihai sürümü yazılımcıların karşısına çıkacak.

Şu an Microsoft'un Visual Studio sayfasında satınalma ve indirme linkleri olmasına rağmen, indirme linkleri henüz çalışmıyor.

İndirme linklerinin 12.04.2010 20:00 TSİ de aktif olması bekleniyor.

 

Not: MaxiASP.Net .Net 4.0 Launch etkinliği 1 Mayısta unutmayın

 

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , ,

Duyurular | General | Haberler

ASP.Net MVC Dünyası

bahadirarslan tarafından yazılmıştır. 12. Mart 2009 21:47

ASP.Net dünyası yaklaşık 1 yıldır MVC ile yatıyor, MVC ile kalkıyor. Model View Controller kelimelerinin baş harflerinden isimlenen MVC yapısı alıştığınız ASP.Net programlama yapısından oldukça farklı bir açılım getiriyor.

Özellikle son 1 haftadır bu konuda önemli gelişmeler olmakta, öncelikle ASP.Net MVC RC 2 yayınlandı.

Ardından Scott Gu'nun içinde bulunduğu bir ekibin wrox yayınlarından çıkmak üzere olan ASP.Net MVC 1.0 kitabının duyurusu yapıldı ve kitabın amazon.com'da ön siparişte olduğu duyruldu. Ayrıca Scott Gu kendi sitesinde bu kitabın bir bölümünü PDF olarak yayınlıyor.

Eğer siz de bu konuya eğilmek istiyorsanız, ASP.Net MVC'nin resmi sitesine bakabilir, Scott Gu'nun blog'unu takip edebilir ve başlangıç olarak ASP.Net MVC ile yapılmış örnek projeleri inceleyebilirsiniz.

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Asp.Net

Interface'ler Aslında Ne İşe Yarar

bahadirarslan tarafından yazılmıştır. 21. Şubat 2009 01:25

Bana hem eğitimler sırasında hem de bireysel olarak o kadar çok soruldu ki sanıyorum bu konuda birşeyler mutlaka yazmam lazım. Interface kavramının ne olduğunu buradaki yazıda anlatmaya çalışmıştım. Ancak buradaki yazı sadece genel olarak interface kavramını anlatıyor ve bir iki örnek ile konu bitiyordu.

Anladığım kadarı yazı biraz eksik kalmış. Çünkü interface'ler sadece eğlence olsun ya da işi uzatsın diye yazılmaz. En önemli özelliği standardizasyondur. Bu konuyu örnekleyerek devam edelim...

 

Örneğin aşağıdaki gibi bir sınıfımız var.

 

public class ToplamaIslemi
    {
        public int IslemYap(int x, int y)
        {
            return x + y;
        }
    }

Bu basit sınıfımızı örnek olarak hazırladığımız Console uygulamasında aşağıdaki gibi çağırıyoruz.

static void Main(string[] args)
        {
            ToplamaIslemi toplama = new ToplamaIslemi();
            int sonuc = toplama.IslemYap(10, 20);
            Console.WriteLine(sonuc.ToString());
        }

Ve sonuç aşağıdaki gibi oluyor.

 

Bu örnekte ben sınıfın içinde IslemYap isimli bir metod olduğunu biliyordum ve doğrudan sınıf örneği üzerinden bu metodu çağırdım. Peki ya benim çağıracağım sınıfın bu metodu içerip içermediğinden emin değilsem? Yani anlatmak istediğim, modüler bir uygulama geliştirdiniz ve geliştirilen modülün çalışabilmesi için bazı metodları ve özellikleri olması gerekiyor ki sizin uygulamanız ile uyumlu çalışabilsin ama bundan nasıl emin olacaksınız ve bu metodlara nasıl erişeceksiniz.

 

Bu durum da interface'ler size büyük kolaylık sağlar. Örneğin şöyle bir interface hazırlayalım.

interface IMatematikselIslem<T>
    {
        T IslemYap(T x, T y);
    }

Generic özelliğine sahip olan bir interface tanımladık, böylece istediğimiz veri türünü kullanabiliriz. Şimdi  Çarpma, Çıkarma ve Bölme işlemleri için birer sınıf yazalım.

public class CarpmaIslemi : IMatematikselIslem<int>
    {
        public int IslemYap(int x, int y)
        {
            return x * y;
        }        
    }
    public class CikarmaIslemi : IMatematikselIslem<int>
    {

        public int IslemYap(int x, int y)
        {
            return x - y;
        }        
    }
    public class BolmeIslemi : IMatematikselIslem<double>
    {
        public double IslemYap(double x, double y)
        {
            if (y == 0.0)
                throw new DivideByZeroException("Bir sayı sıfıra bölünemez");
            else if (x == 0.0)
                return 0.0;
            else
                return x / y;
        }
    }

Görüldüğü üzere generic yapısını kullanmamız bize bölme işleminde kolaylık sağladı. Tekrar Main() metoduna dönecek olursak,

static void Main(string[] args)
        {
            CarpmaIslemi carpmaIslemi = new CarpmaIslemi();
            BolmeIslemi bolmeIslemi = new BolmeIslemi();
            CikarmaIslemi cikarmaIslemi = new CikarmaIslemi();
            ToplamaIslemi toplamaIslemi = new ToplamaIslemi();

            List<object> islemler = new List<object>(); // işlemleri kolleksiyon halinde saklayacağız
            // tek bir satırda işlemleri atmak için AddRange metodunu kullandık, object dizisini de parametre olarak yolladık.
            islemler.AddRange(new object[] {carpmaIslemi, bolmeIslemi, cikarmaIslemi, toplamaIslemi}); 
            foreach (object islem in islemler)
            {
                //generic tür olarak int alan işlemler
                if (islem is IMatematikselIslem<int>)
                {
                    IMatematikselIslem<int> matIslemi = (IMatematikselIslem<int>)islem;
                    int sonuc = matIslemi.IslemYap(10, 20);
                    Console.WriteLine("Islem: "+ islem.GetType() +", Sonucu:" + sonuc.ToString());
                }
                else if (islem is IMatematikselIslem<double>)
                {
                    // double olarak işlem yapacaksak
                    IMatematikselIslem<double> matIslemi = (IMatematikselIslem<double>)islem;
                    double sonuc = matIslemi.IslemYap(10.0, 2.0);
                    Console.WriteLine("Islem: "+ islem.GetType() +", Sonucu:" + sonuc.ToString());
                }
                else
                {
                    Console.WriteLine("Islem: " + islem.GetType() + " çalıştırılamaz.");
                }
            }            
        }

Görüldüğü üzere Main() metodunu baya değiştirdik, aslında yaptığımız şey basit.

 

  1. Öncelikle  tüm işlemler için bir sınıf örneği oluşturduk.
  2. Ardından object türünden generic bir List kolleksiyonu oluşturduk ve tüm sınıf örneklerini içine AddRange metodu ile attık.
  3. Kolleksiyonumuz içinde foreach ile dönmeye başladık.
  4. Her kayıtta önce if (islem is IMatematikselIslem<int>) kontrolü yaptık. is anahtarı kelimesi bir sınıfın verilen arayüzü (interface'i) uygulayıp uygulamadığını belirlemekte kullanılır ve geriye bool değer döndürür. Burada da IMatematikselIslem arayüzünü <int> türü ile uygulayan olup olmadığını kontrol ettik ve Toplama ile Çıkarma işlemlerini bulduk.
  5. İşlemin uygun olduğunu tespit edince
     IMatematikselIslem<int> matIslemi = (IMatematikselIslem<int>)islem;
    Satırı ile nesnenin arayüze referansını verdik.
  6. Daha sonrada matIslemi arayüz referansı ile aşağıdaki satırı kullanarak IslemYap metodunu çağırdık.
    int sonuc = matIslemi.IslemYap(10, 20);
  7. Sonra da elde ettiğimiz sonucu ekrana yazdık.
  8. Eğer kayıt <int> türünü uygulamamışsa, <double>'ı uygulamış olabilir diye kontrol ettik ve uygun olanlar için 5. , 6. ve 7. adımları uyguladık.
  9. Şayet bu iki kontrolde de başarısız olursa bu işlemin arayüzünü uygulamadığını anlıyoruz ve çalıştırmıyoruz.

 

Aklınıza şu soru gelecektir, niye? Çünkü biz burada IMatematikselIslem arayüzünü uygulamayan ToplamaIslemi sınıfının içinde IslemYap isimli bir metod olduğunu biliyoruz, ama emin miyiz? Ya yoksa, ya da şartlara uymuyorsa. Kodu kendimiz yazmadığımız durumlarda bunu daha iyi anlayabilirsiniz. Programımızı çalıştırınca aşağıdaki gibi bir çıktı oluşturacak

Gördüğünüz gibi oluşturduğumuz arayüz sayesinde, arayüz referansını kullanarak sınıf nesnemizin içinde ki metodu çalıştırdık ve arayüz uygulanmış olduğu içinde istediğimiz gibi olduğuna emin olduk.

 

Son olarak uygulamayı şu şekilde düzenleyelim. Uygulamanın içinde bulunan matematiksel işlem yapan sınıfların her birini ayrı bir DLL haline getirelim ve uygulamamızın bulunduğu dizinde bulunan Islemler içindeki bir klasöre atalım. Daha sonra uygulamadan burada bulunan DLL'leri uygulamaya yükleyelim ve içlerinde bulunan sınıfların metodlarını kontrol ederek çağıralım.

static void Main(string[] args)
        {
            // programın çalıştığı klasörü tespit edip, Moduller klasörünü ekliyoruz.
            string modullerKlasorPath = AppDomain.CurrentDomain.BaseDirectory + "Moduller\\";
            // Bu klasöre ulaşıyoruz
            System.IO.DirectoryInfo modullerKlasoru = new System.IO.DirectoryInfo(modullerKlasorPath);
          // .dll uzantılı dosyaları dolaşıyoruz
            foreach (System.IO.FileInfo dosya in modullerKlasoru.GetFiles("*.dll"))
            {
                // elimizdeki dosyayı Assembly olarak yüklüyoruz.
                System.Reflection.Assembly modul = System.Reflection.Assembly.LoadFile(dosya.FullName);
                // Yüklenen assembly'nin içindeki türleri dolaşıyoruz
                foreach (Type t in modul.GetTypes())
                {
                    // elimizdeki assembly bir sınıfa mı ait yoksa başka bir türe mi (örneğin interface)
                    if (t.IsClass)
                    {                       
                       bool intKontrol = Activator.CreateInstance(t) is IMatematikselIslem<int>;
                       bool doubleKontrol = Activator.CreateInstance(t) is IMatematikselIslem<double>;
                       if (intKontrol)
                       {
                           // bu <int> türünde arayüz uygulanmış bir sınıf, çalıştıralım artık.
                           IMatematikselIslem<int> p = (IMatematikselIslem<int>)Activator.CreateInstance(t);
                                     int sonuc = p.IslemYap(10, 20);
                           Console.WriteLine("Islem:" + t.ToString() + ", sonuç: " + sonuc.ToString());
                       }
                       else if (doubleKontrol)   // double da olabilir.
                       {
                        
                           // bu <double> türünde arayüz uygulanmış bir sınıf, çalıştıralım artık.
                           IMatematikselIslem<double> d = (IMatematikselIslem<double>)Activator.CreateInstance(t);
                         
                               double sonuc = d.IslemYap(10.0, 2.5);
                               Console.WriteLine("Islem:" + t.ToString() + ", sonuç: " + sonuc.ToString());
                       }
                           else
                           {
                               Console.WriteLine(t.ToString() + " türü IMatematikselIslem arayüzünü uygulamadığı için çalıştırılamamaktadır");
                           }
                       
                    }
                }
                
            }            

        }

Bu kodu da çalıştırdığımız zaman aşağıdaki gibi bir çıktı oluşuyor.

 

İnşallah bu sefer Interface (arayüz) kavramını açıklama şansı bulabilmişimdir. Bu uygulamada yapılan iki örneği de aşağıdaki bağlantıyı kullanarak indirebilirsiniz.

 

İndir

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

.Net Framework | C#

ASP.Net MVC 1.0 Release Candidate Duyuruldu

bahadirarslan tarafından yazılmıştır. 27. Ocak 2009 23:15

Microsoft uzun zamandan beri geliştirdiği ASP.Net MVC'nin sonunda Release Candidate versiyonunu duyurdu. Böylece heyecanlı bekleyişte sona yaklaşılmış görünüyor. Çünkü Scott Guthrie'nin bildirdiğine göre bu son deneme sürümü olacak, bundan sonraki sürüm nihai sürüm olacak ve onunda gelecek ay duyurulması planlanıyor.

ASP.Net MVC 1.0 RC'yi indirmek için bu bağlantıya tıklayabilir, ScottGu'nun konu hakkındaki detaylı yazısına ulaşmak için buraya tıklayabilirsiniz.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Asp.Net

Ineta Professional Hit Etkinliği

bahadirarslan tarafından yazılmıştır. 16. Ocak 2009 16:00

Ineta, Ineta Ege Hit etkinliğinden sonra tekrar İstanbul'da, Microsoft Türkiye'de yeni bir etkinliğe hazırlanıyor.

Yalnız bu sefer ki etkinliğin diğerlerinden farkı, uzmanlara hitap etmesi. Yani bilgi ve tecrübe seviyesi olarak Level 300 ve Level 400 olarak sınıflandırılan oturumlardan meydana geliyor.

 

Program içeriği ve oturumların seviyeleri şu şekilde;

24 Ocak

10.00-12.30 Silverlight ile Veri Uygulamaları - Daron Yöndem - Level 300

13.00-16.00 ADO.NET Data Services - Burak Selim Şenyurt - Level 300

16.30-18.00 SharePoint üzerinde özel kolon geliştirmek - Nezih Tınas - Level 400

25 Ocak

10.00-12.30 Derinlerde C# 3.0 - Burak Selim Şenyurt - Level 300

13.00-15.00 ASP.NET AJAX 4.0 - Daron Yöndem - Level 300

15.30-18.00 Asp.Net Application ve Page LifeCycle - Oğuz Yağmur - Level 300

Etkinlik Microsoft İstanbul ofisinde olacak. Adres şu şekilde; Bellevue Residence, Levent Mahallesi Aydin Sokak, No: 7 Levent

Etkinliğe katılabilmeniz için aşağıdaki adresten kayıt olmanız gerekiyor.

http://daron.yondem.com/kayit/

 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Duyurular

Microsoft SQL Server 2008 İçin Ücretsiz E-Book

bahadirarslan tarafından yazılmıştır. 15. Ocak 2009 23:12

Buraya tıklayarak Microsoft Press'in Introducing SQL Server 2008 (Peter DeBetta) kitabının ebook halini ücretsiz olarak indirebilirsiniz.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

SQL Server

Powered by BlogEngine.NET 1.4.5.0
Bu tema Mads Kristensen tarafından yapılmıştır ve Türkçeleştirilmesi Blog Engine Türkiye ekibi tarafından yapılmıştır.

Son Gönderiler

Reklam

Son Yorumlar

Comment RSS