C# 4.0 ile Gelen YeniliklerBurak Selim ŞENYURTMVP(Connected System Developer)Innova – Uygulama Geliştirme Danışmanıwww.buraksenyurt.comwww.nedirtv.comselim@bsenyurt.com http://twitter.com/bsenyurthttp://friendfeed.com/burakselimsenyurt
GündemC# TarihçesiDynamic vs StaticC# 4.0 YenilikleriDynamic OlmakDemoDLR(Dynamic Language Runtime)Optional & Named ParametersDemoCOM Interop ÖzellikleriDemoCo-Contra Variance GenericsSoru&Cevap
CLR 1.0.Net Framework 1.0/1.1TarihçeCLR 4.0.Net Framework 4.0CLR 2.0.Net Framework 2.0/3.0/3.5
Dynamic vs StaticDynamicBilinçsiz türlendirme(Implicitly Typed)
Derleme Yok (No Compilation)Basit ve kısaStaticGüç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 YenilikleriDynamic(Dinamik olarak türlendirilebilen nesneler)Optionalve NamedParametrelerArttırılmış COM Interoperability desteğiCoVariance – ContraVariance Generics
Dynamic OlmakStatic 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 üyelerMetod(Method)Özellik(Property)Alan(Field)Indeksleyici(Indexer)OperatörTemsilci Çağırısı(Delegate Invocation)KısıtlarDynamic metod çağrılarında Anonymous Method’ lar parametre olarak aktarılamaz.Dynamic nesneler üzerinde LINQ sorguları çalıştırılamaz.dynamic != var
DEMODynamic & 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şimDEMO
Optional & Named ParametersEski 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 ÖzellikleriDynamic ImportPIA(Primary Interop Assembly) Bağımsız DerlemekRef İ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 ContravarianceDEMO
CovarianceRectangleShapeList of RectanglesList of ShapesShapeRectangleCircle

More Related Content

PPTX
VS 2010 C# 4.0 New Features
PPT
Csharpnedir
PDF
C# Programlamaya Giriş E-Eğitimi
PPT
Babesletza eta Mezenasgoa
PPT
Presentacion Slipknot
PPTX
Dia do pai - Mariana Seixas
PPS
Sabia Usted Que2 Milespowerpoints
PPS
Depesca
VS 2010 C# 4.0 New Features
Csharpnedir
C# Programlamaya Giriş E-Eğitimi
Babesletza eta Mezenasgoa
Presentacion Slipknot
Dia do pai - Mariana Seixas
Sabia Usted Que2 Milespowerpoints
Depesca

Viewers also liked (7)

PPT
Comunitat Treball Comunitari maig 2010
PPTX
Windows Server App Fabric Introduction
PPT
Idea blog
PPT
Presentación power point1
PPTX
Wcf Eco System
PPTX
Yazilim Zirvesi2008 Wcfwf40 Edit
PPT
Welcome!
Comunitat Treball Comunitari maig 2010
Windows Server App Fabric Introduction
Idea blog
Presentación power point1
Wcf Eco System
Yazilim Zirvesi2008 Wcfwf40 Edit
Welcome!
Ad

Similar to C# 4 0 New Features (20)

PPTX
PPT
Csharp 3.0
PPTX
CSharp Programlama Dili ve Net Framework
PPT
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
PPTX
C#, Microsoft Yaz Okulu 2010 - İzmir
PDF
C sharp-danismani
PPTX
C Sharp ve .NET
PPTX
C Sharp ve .NET
PPTX
C sharp programlama dili tarihcesi kisa bilgilendirme
PDF
C sharp-notlari
PDF
C sharp-cevaplari
PDF
Mühendislik problemlerinin bilgisayar ortamında sayısal analiz yöntemleriyle...
PDF
C sharp-2012
PPTX
Oop’nin temel ilkeleri
PDF
Osman kurt & zahide aytar
PDF
C# OOP
PPTX
Ders1-Deği̇şkenler-C#
PPTX
BilgeAdam Nesne Yönelimli Programlama
PPTX
C sharp
PPTX
Base presentation
Csharp 3.0
CSharp Programlama Dili ve Net Framework
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
C#, Microsoft Yaz Okulu 2010 - İzmir
C sharp-danismani
C Sharp ve .NET
C Sharp ve .NET
C sharp programlama dili tarihcesi kisa bilgilendirme
C sharp-notlari
C sharp-cevaplari
Mühendislik problemlerinin bilgisayar ortamında sayısal analiz yöntemleriyle...
C sharp-2012
Oop’nin temel ilkeleri
Osman kurt & zahide aytar
C# OOP
Ders1-Deği̇şkenler-C#
BilgeAdam Nesne Yönelimli Programlama
C sharp
Base presentation
Ad

C# 4 0 New Features

Editor's Notes

  • #5: 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.
  • #7: 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.
  • #9: Kaynaklar : http://www.buraksenyurt.com/post/C-40-Dynamic-Olmak.aspx
  • #10: 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.
  • #12: Kaynaklar : http://www.buraksenyurt.com/post/C-40-Dynamic-Olmak.aspx
  • #14: 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.
  • #16: .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.
  • #17: .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.
  • #18: .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.