Windows Presentation Foundation

Nu er den næste frigivelse af C# ved at være tæt på. For mig som nørd er det altid spændende, når jeg får ny teknologi mellem fingrene. Mest spændende er det dog, når sprogene udvikler sig, da de ligger nederst i "fødekæden". Alt hvad jeg laver på .NET fremover afhænger af dette og hvor godt jeg kan bruge de nye sprogfeatures. Tænk bare på, hvor meget der skete i C# 2.0, da der blandt andet blev introduceret generics, partielle klasser, anonyme methods og iterators.

I C# 2.0 blev der gjort meget for at få sproget opdateret, for C# 2.0 bragte sproget op på niveau med Java og C++. Med C# 3.0 er der tale et kvantespring, der bringer C# foran i sprogudviklingen.

Det er interessant at se, hvordan programmeringsparadigmerne mødes i C# 3.0. Funktionsorienteret programmering får sit indtog gennem anvendelse af lambda udtryk (λ-udtryk). Man kan vel nærmest kalde C# 3.0 et paradigmeskift inden for programmeringssprog.

Jeg vil i denne guide samle referencer til ressourcer, der omhandler de nye sprogfeatures i C# 3.0, som frigives sammen med .NET 3.5. Der findes allerede rigtig mange gode ressourcer på nettet, fordi C# 3.0 har fået en masse opmærksomhed.

God fornøjelse!

/Henrik Westergaard Hansen, Microsoft

Vi anbefaler
Kom godt i gang
Introduktion
Du finder alle Orcas (næste version af Visual Studio) downloads på denne side. Der ligger både exe-filer og VPC'er med Orcas og C# 3.0. Hvis du har en MSDN subscription, kan du også downloade Orcas derfra. De modige installerer selvfølgelig på deres arbejdsmaskine, mens de mindre modige kører Orcas fra VPC'en og lider under virtualiseringen på en bærbar PC (jeg hører til sidste kategori).
Webcasts
Denne video er ret god for dem, som bare vil se sprogkonstruktionerne og ikke vil lade sig forvirre af et IDE som Visual Studio. Alle demoer laves i notepad, hvilket da må appellere til VI og Emacs folkJ Indholdsfortegnelsen er som følgende:

- the var keyword
- extensions methods
- lambda expressions
- queries
- easy initialization of types

I dette webcast giver Niels Ladegaard Beck en introduktion til de nye sprogfeatures i C# 3.0.
De nye sprogfeatures er en forudsætning for Language INtegrated Query (LINQ).

Blogs
Denne oversigtsside indeholder personer fra C# teamet, der blogger.
C# teamet har en FAQ blog.

Mads Torgersen er program manager på C# teamet. Der er mange gode tekniske og akademiske posts på Mads' blog.

Yet another language geek går godt i kødet på sproget. Bestemt en blog der er værd at læse.
Ressourcer
Artikler
Websites
Bøger
Downloads
I juni-udgaven af MSDN Magazine har Anson Horton skrevet en god artikel om C# 3.0: The Evolution Of LINQ And Its Impact On The Design Of C#. Horton gennemgår Lambda Expressions, Extension Methods, Anonymous Types, Implicitly Typed Local Variables, Object Initializers og Query Expressions.

Granville Barnett samler i sin artikel, C# 3.0: An Introduction, tråden op fra hvor C# 2.0 slap og C# 3.0 samler op. Kort og godt.

Demystifying C# 3.0 er en rigtig god artikelserie, der gennemgår de nye sprogkonstruktioner. Den er hurtig læst og giver et godt overblik for programmører, som allerede er godt bekendt med C# 2.0.
Demystifying C# 3.0 - Part 1: Implicitly Typed Local Variables "var":
Demystifying C# 3.0 - Part 2: Anonymous Types
Demystifying C# 3.0 - Part 3: Extension Methods
Demystifying C# 3.0 - Part 4: Lambda Expressions
Demystifying C# 3.0 - Part 5: Object and Collection Initializers
Demystifying C# 3.0 - Part 6: (LINQ) Query Expression Translation (to C# 3.0)
Demystifying C# 3.0 - Part 7: Expression Trees

Scott Guthrie spænder vidt, og hans blog har rigtig mange spændende indlæg. Et af Scott's tags er omkring LINQ. Specielt syntes jeg, at Scotts posts om Using LINQ to SQL Part 1 og Part 2 er ret gode.
C# Future Versions hovedsiden på MSDN er opdateret med de vigtigste ressourcer. Her finder du produktnyheder, demoer, videoer samt nye downloads. Desuden er der flere gode tutorials at komme efter på Visual C# Developer Center
Den første bog, som er kommet om C# 3.0 og LINQ, er Introducing Microsoft® LINQ Det er en rigtig god bog, der kort og præcist gennemgår LINQ. Bogen indeholder en meget god beskrivelse af evolutionen i C#, fra 1.0, gennem 2.0 og til 3.0. Desuden gennemgås LINQ, LINQ til ADO.NET og LINQ til XML. I appendiks bruges der interessant nok ca. 20 sider på at beskrive ADO.NET Entity Frameworket.

Der begynder først rigtigt at blive udgivet C# 3.0 bøger fra august 2007.
Det nemmeste er klart at nappe de sidste nye bits fra Visual Studio Orcas download siden. På siden finder du både VPC images og installationsfiler.
Hvis du har været igennem din introduktion til WPF, er det nu tid til at dykke ned i WPF og se mere på nogle af de centrale begreber.
Artikler

Når du har bygget din første applikation er det tid til at se havd du kan med animationer i WPF. Animationer er ligesom video og 3D grafik en del af WPF, og det er muligt at animere nærmest hvad som helst med WPF.

Speed is Life – også når det gælder afvikling af WPF appliaktioner. Dette whitepaper præsenterer nogen af de muligheder du har for at bygge applikationer med god performance.

En af de absolut mest oversete features i WPF er den fuldstændigt integrerede databinding. I to artikler på MSDN, bliver databinding gennemgået. Databinding ikke bare til databaser eller objekter, men i høj grad også til andre elementer i brugergrænsefladen.

Webcasts

WPF er ikke bare en GUI teknologi, det er også muligheden for at lave rige print- og dokumentløsninger. I denne webcast fra MSDN TV ser du hvordan du kommer i gang med tekst og dokumenter i WPF.

3D i WPF er ikke bare en ny måde at rendere 3D indhold på. Det er også integration med data, video, animation layout og skabeloner. I denne webcast viser Daniel Lehenhauer hvordan vi kan bruge denne funktionalitet.

Nu er det jo ikke altid muligt at smide sin eksisterende applikation på møddingen, bare fordi der kommer noget der er nyt og bedre, men WPF giver dig heldigvis mulighed for at integrere WPF og Windows Forms kode til en samlet applikation. Se Michael Henderson fortælle om "Crossbow".

En af de største styrker med WPF er muligheden for at lave skabeloner for dine elementer (kontroller). I denne webcast demonstrerer Robert Ingebretsen og Kevin Moore, hvordan du gør.