C# 4 0   New Features
Upcoming SlideShare
Loading in...5
×
 

C# 4 0 New Features

on

  • 1,750 views

26 Nisan Ankara' da Yapılan Microsoft etkinliğinde anlattığım C# 4.0 konulu sunumdur.

26 Nisan Ankara' da Yapılan Microsoft etkinliğinde anlattığım C# 4.0 konulu sunumdur.

Statistics

Views

Total Views
1,750
Views on SlideShare
1,746
Embed Views
4

Actions

Likes
0
Downloads
8
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Dinamik dil program kodları tamamen derlenmeyip, sadece program çalışacağı zaman client tarafından yorumlanarak çalışır. Yani compile edilme olayı olmadan yorumlayıcısı vasıtasıyla direkt olarak çalışırlar. Bu da başta web siteleri olamak üzere pek çok projede artı olarak yorumlanabilir. En önemli özelliklerinden "tip tanımlamaları" yani statik dillerdeki gibi verinizin tipini kullanmadan önce tanımlamamıza gerek kalmamaktadır. Yani Integer bir değer gireceksek daha önceden int olarak tanımlamamıza gerek yoktur.
  • IronPython, IronRuby gidi dinamik dillerde üretilen sınıfların metadata tanımlamalarına static bir dil içerisinde ulaşalımaz.Çözüm dynamic olmaktır.
  • Kaynaklar : http://www.buraksenyurt.com/post/C-40-Dynamic-Olmak.aspx
  • DLR .NET 4.0’ ın bir parçasıdır. DLR ;Ruby, Python gibi dinamik dillerin .Net Framework üzerindeki implementasyonu amacıyla kullanılır. DLR, CLR’ ın üzerinde oturmakta ve CLR dilleri ile dinamik diller arasında köprü görevini üstlenmektedir. Burada yer alan ara dil servisleri şu anda IronRuby ve IronPython dillerinin geliştirme versiyonları için geçerlidir.
  • Kaynaklar : http://www.buraksenyurt.com/post/C-40-Dynamic-Olmak.aspx
  • No PIA – COM nesneleri ile .Net Framework arasında köprü görevini üstlenen Primary Interop Assemblies’ in en çok bilinenleri arasında Microsoft Office Primary Interop Assemblies yer alır. Normal şartlarda deployement işlemi sırasında gerkekli PIA referanslarınında yüklenmesi, taşınması gerekmektedir. No-PIA özelliğine göre PIA’ ların .Net Assembly’ ı içerisine gömülerek taşınması mümkündür. Ayrıca PIA’ nın embed edilen kısmı sadece gerekli olan kısmıdır.Ref Ihlali – Normalde ref tipinden olan parametreler için temporary değişkenlerin tanımlanıp referans bazlı geçirilmesi gerekir. C# 4.0 ref parametreler için değer bazlı geçişlere izin verir. Kendisi arka planda gerekli temporary değişkenleri oluşturur.
  • .Net 4.0 ‘ daki generic koleksiyonların covariance ve contravariance olarak kullanılabilmelerini sağlamak için interface ve delegate tiplerinde out T ve in T kullanımları getirilmiştir.
  • .Net 4.0 ‘ daki generic koleksiyonların covariance ve contravariance olarak kullanılabilmelerini sağlamak için interface ve delegate tiplerinde out T ve in T kullanımları getirilmiştir.
  • .Net 4.0 ‘ daki generic koleksiyonların covariance ve contravariance olarak kullanılabilmelerini sağlamak için interface ve delegate tiplerinde out T ve in T kullanımları getirilmiştir.

C# 4 0   New Features C# 4 0 New Features Presentation Transcript

  • C# 4.0 ile Gelen Yenilikler
    Burak Selim ŞENYURT
    MVP(Connected System Developer)
    Innova – Uygulama Geliştirme Danışmanı
    www.buraksenyurt.com
    www.nedirtv.com
    selim@bsenyurt.com
    http://twitter.com/bsenyurt
    http://friendfeed.com/burakselimsenyurt
  • Gündem
    C# Tarihçesi
    Dynamic vs Static
    C# 4.0 Yenilikleri
    Dynamic Olmak
    Demo
    DLR(Dynamic Language Runtime)
    Optional & Named Parameters
    Demo
    COM Interop Özellikleri
    Demo
    Co-Contra Variance Generics
    Soru&Cevap
  • CLR 1.0
    .Net Framework 1.0/1.1
    Tarihçe
    CLR 4.0
    .Net Framework 4.0
    CLR 2.0
    .Net Framework 2.0/3.0/3.5
  • Dynamic vs Static
    Dynamic
    • Bilinçsiz türlendirme(Implicitly Typed)
    • Derleme Yok
    (No Compilation)
    • Basit ve kısa
    Static
    • Güçlü(Robust)
    • Rekabet gücü yüksek(Performant)
    • Akıllı araçlar(Tools)
    • Daha iyi ölçeklenebilirlik(Scale)
    Ruby, Python, IronPython...
    C# ,Vb.Net...
  • C# 4.0 Yenilikleri
    Dynamic(Dinamik olarak türlendirilebilen nesneler)
    Optionalve NamedParametreler
    Arttırılmış COM Interoperability desteği
    CoVariance – ContraVariance Generics
  • Dynamic Olmak
    Static tip kontrolünün atlanıp bunun yerine, tipin çalışma zamanında çözümlenmesi(Resolve).
    Python, Ruby gibi dinamik dillerden gelen nesneler,
    IDispatcharayüzü ile ulaşılabilen COMnesneleri,
    Reflectionile erişilen standart .Net tipleri,
    HTMLDOMnesneleri
  • Dynamic Olmak
    Çağırılabilen üyeler
    Metod(Method)
    Özellik(Property)
    Alan(Field)
    Indeksleyici(Indexer)
    Operatör
    Temsilci Çağırısı(Delegate Invocation)
    Kısıtlar
    Dynamic metod çağrılarında Anonymous Method’ lar parametre olarak aktarılamaz.
    Dynamic nesneler üzerinde LINQ sorguları çalıştırılamaz.
    dynamic != var
  • DEMO
    Dynamic & IronPython
  • DLR(Dynamic Language Runtime)
    DLR, CLR üzerinde host edilen normal bir Assembly’ dır.
    System.Core’ un bir parçasıdır.
    Staticve Dynamicdiller arasında iş birliği sağlar.
    .Net Framework 4.0’ ın bir parçasıdır.
    IronPyhton, IronRuby, IronScheme(Codeplex) gibi DLR dilleri vardır.
    C# ve VB.Net gibi dillerden hostedilmeyi sağlayan program arayüzünü(API)sunar.
    dynamic keyword’ ünün çalışma zamanı bileşenleri DLR’ ı kullanır.
  • Optional & Named Parameters
    Özellike COM nesnelerinin kullanımında tüm parametreleri girme zorunluluğunun ortadan kalkması Parametrelere adlarıileistenen sırada erişilebilmesi.
    Parametreler için değervermezorunluluğunun ortadan kalkması.
    Office Development!
  • Office ile Etkileşim
    DEMO
  • Optional & Named Parameters
    Eski Stil;
    Word.Document document=wordApp.Documents.Open(ref filePath, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
    Yeni Stil;
    wrdApp2.Documents.Open(filePath, ReadOnly: isReadOnly);
  • COM Interop Özellikleri
    Dynamic Import
    PIA(Primary Interop Assembly) Bağımsız Derlemek
    Ref İhlali(Ommiting Ref)
    object missing = Missing.Value;
    wordApp.Documents.Open(ref filePath, ref missing, ref missing, ref missing.....)
    wordApp.Documents.Open(filePath, Missing.Value, Missing.Value, Missing.Value.....)
  • Generic Covariance
    Generic Contravariance
    DEMO
  • Covariance
    Rectangle
    Shape
    List of Rectangles
    List of Shapes
    Shape
    Rectangle
    Circle
  • Contravariance
    Rectangle
    Shape
    Comprasion of Rectangles
    Comprasion of Shapes
    Shape
    Rectangle
    Circle
  • Co-Contra Variance Generics
    .Net 4.0 öncesinde generic koleksiyonlar invarianceyapıdadır. Sadece tanımlanan tiple çalışılmaktadır.
    Ancak.Net 4.0 ile generic tipler CoVariantveya ContraVariantolarak kullanılabilmektedir.
  • Soru & cevap
  • Kaynaklar
    http://channel9.msdn.com/
    http://msdn.microsoft.com/en-gb/vcsharp/dd819407.aspx