Aantekeningen DevDays 2010 Den Haag (World Forum)

C# 4.0
- default parameter value: public void Method(string bar, string foo="defaultValue")
Wanneer de default parameter veranderd, dient de assembly opnieuw te worden gecompileerd.

- named parameter: Method(foo="newValue")

-Default en named parameters hoofdzakelijk gebruiken voor COM interop (Word, Excel, etc.)

- In command prompt dir van Visual Studio, ildasm starten met exe van applicatie = disassembler

-nieuw keyword: dynamic. Doet compiler niets mee. Ook voor COM interop.

- Dynamic object class overriden (geen linq)
Dynamisch classes maken
extension methods niet mogelijk
lamba expressies niet mogelijk

-CoVariance
IList list = new List
IEnumerable -> read only object

- Generic CoVariance

Linq Advanced
"All ceremony, no essence"

- chain extension methods

- lambda = anonieme methods, delegate

- Func<int,int, int> square = x => x * x
Laatst int in Func lijst is return parameter

- Action <int>
Action heeft geen return parameter (void)

- Expression <func<int,int, int>> square

- Expression Tree Viewer (in VS)

- selectMany: meerdere arrays, resultaat 1 array

Linq Basics
- Linq = lui

- var query = from foo select bar. variabele 'query' wordt pas uitgevoerd bij (bijvoorbeeld) een foreach.

- Ienumerable wordt opgeslagen in geheugen (de heap)

- de where wordt streaming genoemd en de order by non-streaming

- IQueryable (:Ienumerable) runtime uitbreidbaar

- 2 manieren:
1. Comprohensive syntax: from bar select foo where x=x
Compiler vertaald dit naar extension methods
2. Extension methods

- let keyword binnen linq = variabele binnen een query

- join into = group join = inner join

- PLinq - Parallel linq = meerdere cores van CPU (.NET 4.0)

- Compiled Query (SP?)

AJAX
- CDN = Content Delivery Network (Microsoft, Google)

- jQuery in Visual Studio 2010 i.c.m. ajax

- asp.net/cdn/ajax

- Binding - templates -> pseudo columns {{ ...}}

- live binding {property} binding[property], convert = func

- Observer pattern
Sys.Observer.makeObserverable (list);

-DataContext

Reacties

Populaire posts van deze blog

[SQL Server] varchar vs nvarchar

MS Sql 70-461: Chapter 5

[C#] Class serialiseren en deserialiseren