Enumeration referenzieren?

12/09/2007 - 17:47 von Robert Schneider | Report spam
Was macht das hier eigentlich für einen Sinn:

Enum TestEnum
A
B
End Enum

Dim x As [Enum] = TestEnum.A

Wieso kann man einer Enum-Variablen einen Wert einer Enumeration zuweisen?
Könnte das überhaupt irgendwie nützlich sein? Was kann ich denn mit x
anfangen?

Tschuldigung, falls das zu trivial ist.

Gruß,
Robert
e-mail: r_.s_chnei_der\wein_gart_ner.com (remove all '_' and replace '\'
with
'@')
 

Lesen sie die antworten

#1 Oliver Denter
12/09/2007 - 18:11 | Warnen spam
Robert Schneider schrieb:
Was macht das hier eigentlich für einen Sinn:

Enum TestEnum
A
B
End Enum

Dim x As [Enum] = TestEnum.A

Wieso kann man einer Enum-Variablen einen Wert einer Enumeration
zuweisen? Könnte das überhaupt irgendwie nützlich sein? Was kann ich
denn mit x anfangen?

Tschuldigung, falls das zu trivial ist.

Gruß,
Robert


Weil Du dir zum Beispiel einen ENUM-Wert merken willst. Also ein
ENUM-Typ eine normale Variable einer Klasse ist die am Anfang auf einen
DefaultWert gesetzt wird und spàter bei der Benutzung der Klasse auf den
benötigten Typ gesetzt wird

Enum DBTyp
UNKNOWN
MSSQL
ACCESS
End Enum

public class DbLayer
private dbTypValue as DBTyp
public property DBTyp as DBTyp
get
return dbTypValue
end get
set
dbTypValue = DBTyp.UNKNOWN
end set
end property

public function GetConnectionString() AS string
select case dbTypValue
case DBTyp.UNKNOWN
' fehler
case DBTyp.MSSQL
return "MSSQL Connectionstring"
case DBTyp.ACCESS
return "OleDB ConnectionString"
case else
' fehler
end select
end function

public function GetConnection() as DBConnection
select case dbTypValue
case DBTyp.UNKNOWN
' fehler
case DBTyp.MSSQL
return new SqlConnection()
case DBTyp.ACCESS
return new OleDbConnection()
case else
' fehler
end select
end function

end class

public class irgendwas

public sub new
dim o as new DBLayer
o.DBTyp = DBTyp.MSSQL
dim conStr as string = o.GetConnectionString()
dim con as DBConnection = o.GetConnection()
con.Open()

con.Close()
end sub
end class

OD

Ähnliche fragen