Your SlideShare is downloading. ×
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Visual C# 4.0
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Visual C# 4.0

1,106

Published on

Burak Selim Şenyurt hocamızın Ankaradaki eğitimde verdiği sunum..

Burak Selim Şenyurt hocamızın Ankaradaki eğitimde verdiği sunum..

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,106
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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.
  • Transcript

    • 1. 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
    • 2. 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
    • 3. 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
    • 4. Dynamic vs Static
      Dynamic
      • Bilinçsiz türlendirme(Implicitly Typed)
      • 5. Derleme Yok
      (No Compilation)
      • Basit ve kısa
      Static
      • Güçlü(Robust)
      • 6. Rekabet gücü yüksek(Performant)
      • 7. Akıllı araçlar(Tools)
      • 8. Daha iyi ölçeklenebilirlik(Scale)
      Ruby, Python, IronPython...
      C# ,Vb.Net...
    • 9. C# 4.0 Yenilikleri
      Dynamic(Dinamik olarak türlendirilebilen nesneler)
      Optionalve NamedParametreler
      Arttırılmış COM Interoperability desteği
      CoVariance – ContraVariance Generics
    • 10. 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
    • 11. 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
    • 12. DEMO
      Dynamic & IronPython
    • 13. 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.
    • 14. 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!
    • 15. Office ile Etkileşim
      DEMO
    • 16. 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);
    • 17. 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.....)
    • 18. Generic Covariance
      Generic Contravariance
      DEMO
    • 19. Covariance
      Rectangle
      Shape
      List of Rectangles
      List of Shapes
      Shape
      Rectangle
      Circle
    • 20. Contravariance
      Rectangle
      Shape
      Comprasion of Rectangles
      Comprasion of Shapes
      Shape
      Rectangle
      Circle
    • 21. 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.
    • 22. Soru & cevap
    • 23. Kaynaklar
      http://channel9.msdn.com/
      http://msdn.microsoft.com/en-gb/vcsharp/dd819407.aspx

    ×