Wie kann ich einem Objekt sagen, dass es ein bestimmter Type ist?

12/02/2010 - 11:36 von Nase | Report spam
Hallo

Ich habe eine Liste mit einem Interface.
If TypeOf DstObj Is System.Collections.IList Then
Dim L As New List(Of
System.Collections.IList)
For Each W As String In Src.Split(";")
Dim Ob As Object

Ob = cInt(W)'Aus "12" wird ein
Integer 12 ' Aber ich weiss ja noch nicht aufgrund von IList, ob es
ein Integer oder Byte oder was auch immer sein wird.
L.Add(ob)
Next
End if
 

Lesen sie die antworten

#1 Armin Zingler
12/02/2010 - 12:51 | Warnen spam
Nase schrieb:
Hallo

Ich habe eine Liste mit einem Interface.
If TypeOf DstObj Is System.Collections.IList Then
Dim L As New List(Of
System.Collections.IList)
For Each W As String In Src.Split(";")
Dim Ob As Object

Ob = cInt(W)'Aus "12" wird ein
Integer 12 ' Aber ich weiss ja noch nicht aufgrund von IList, ob es
ein Integer oder Byte oder was auch immer sein wird.



Welcher Typ soll es denn sein? Wovon hàngt es ab? Welcher Wertebereich kann
vorkommen? Wenn Int32/UInt32 immer ausreicht, dann nimm diesen Typ
selbst wenn im Einzelfall Short oder Byte genügen würde.

Wenn du, warum auch immer, den kleinstmöglichen Typ, abhàngig
vom größten, gefundenen Wert verwenden willst, dann musst du
zuerst Integer verwenden und anschließend, falls z.B. alle Werte
<%5 sind, konvertieren in eine Liste von Byte-Werten.

Soviel dazu. Unklar ist mir aber noch, warum du eine List(Of IList)
brauchst. Das wàre ja eine Liste bestehend aus Listen. Da du
aber (derzeit) noch eine Liste von Integer-Werten hast, wàre
eine List(Of Integer) sinnvoller.

L.Add(ob)
Next
End if




Armin

Ähnliche fragen