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
- 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
Een reactie posten