VB 2008: anonymous types nur mit Option Strict Off?

21/11/2007 - 13:09 von Armin Zingler | Report spam
Hallo NG,

"spiele" gerade mit der VB 2008 Express 'rum. Die Frage steht eigentlich
schon im Betreff. Ich finde anonyme Typen ja (vermutlich) nicht schlecht,
aber warum geht das nur mit Option Strict Off?

Dim product1 = New With {.Name = "paperclips", .Price = 1.29}

Auch mit option strict On müsste das doch möglich sein.

Ja, ich weiß, dass bei option strict on "As" erforderlich ist, aber bei
anonymen Typen könnte und müsste das doch eine Ausnahme sein, bzw. der Typ
ist doch implizit, wenn auch nicht für den Programmierer sichtbar,
festgelegt. Der Compiler könnte doch trotzdem früh binden.

product1.bla = 17

kann ja nicht funktionieren, weil er ja den (anonymen) Typ kennt. Genauso
könnte

product1.name = "name"

früh gebunden werden.

Übersehe ich etwas?

Der Code ist doch im Prinzip derselbe wie

Class _anonymous_00001
Public Name As String = "paperclips"
Public Price As Single = 1.29
End Class

Dim product2 As new _anonymous_00001



Armin
 

Lesen sie die antworten

#1 Armin Zingler
21/11/2007 - 13:21 | Warnen spam
"Armin Zingler" schrieb
Der Code ist doch im Prinzip derselbe wie

Class _anonymous_00001
Public Name As String = "paperclips" Public Price As
Single = 1.29 End Class

Dim product2 As new _anonymous_00001




Na ja, nicht ganz. In der Hilfe steht unter "Anonymous Type Definition"
(ms-help://MS.VSCC.v90/MS.msdnexpress.v...938bac.htm)
wie die interne Deklaration wirklich ist. Ändert an der Frage aber nichts.



Armin

Ähnliche fragen