Inhalt
Vorwort
1 Wie .NET und ASP.NET funktionieren
2 Installation
3 Hinweise zu VB.NET
4 »Hallo, Welt!« – Ein ASP.NET-Crashkurs
5 Die Page-Klasse
6 HTML-Serversteuerelemente
7 Validierung von Anwendereingaben
8 Webserversteuerelemente
9 Webserversteuerelemente für die Darstellung von Listen
10 Webserversteuerelemente selbst erstellen
11 Der Status von Seiten, Sitzungen und Applikationen
12 ASP.NET und Datenbanken
13 »Wer darf was?« ASP.NET und Sicherheit
14 Webanwendungen erstellen und konfigurieren
15 Leistungssteigerung durch Caching
16 Web Services
A Anhang
Index
Download (ca 14,3 MB)
Buch bestellen (29,90 EUR)
Ihre Meinung?@
<< zurück | Galileo Computing / <openbook> / Einstieg in ASP.NET | vor >>
Einstieg in ASP.NET von Matthias Lohrer
| Kapitel 3 Hinweise zu VB.NET
|  | 3.1 Eine Testumgebung
|  | 3.2 Variablen
|  |  | 3.2.1 Bezeichner
|  |  | 3.2.2 VB.NET-Datentypen
|  | 3.3 Konstanten
|  | 3.4 Typkonvertierungen
|  | 3.5 Kontrollstrukturen
|  |  | 3.5.1 Entscheidungen mit If
|  |  | 3.5.2 Select Case
|  |  | 3.5.3 Zählschleife mit For Next
|  |  | 3.5.4 Schleife mit Do Loop
|  |  | 3.5.5 Schleife mit While
|  | 3.6 Funktionen und Prozeduren
|  |  | 3.6.1 Aufbau
|  |  | 3.6.2 Übergabe von Parametern
|  | 3.7 Klassen erstellen
|  |  | 3.7.1 Eigenschaften einer Klasse über Felder realisieren
|  |  | 3.7.2 Eigenschaften mit Property-Prozeduren realisieren
|  |  | 3.7.3 Schreibgeschützte Eigenschaften
|  |  | 3.7.4 Methoden erstellen
|  |  | 3.7.5 Konstruktor erstellen
|  |  | 3.7.6 Klassen vererben
|  | 3.8 Mit Objekten arbeiten
|  |  | 3.8.1 Objekte vergleichen
|  |  | 3.8.2 Den Typ eines Objekts bestimmen
|  |  | 3.8.3 Objekte in andere Klassen konvertieren
|  | 3.9 Arbeiten mit Arrays
|  | 3.10 Dateizugriffe
|  | 3.11 Fehlerbehandlung mit Try ... Catch ... Finally ... End Try
## 3.8 Mit Objekten arbeiten ### 3.8.1 Objekte vergleichen Mit dem Is-Operator stellen Sie fest, ob zwei Objekte miteinander identisch sind. Genauer gesagt werden mit dem Is-Operator nicht zwei Objekte miteinander verglichen, sondern zwei Referenzen. Zeigen beide Variablen an die gleiche Stelle im Arbeitsspeicher? Das ist die Frage, die der Is-Operator überprüft. Die folgende Codesequenz verdeutlicht die Arbeitsweise.
    Dim s As String
    Dim a As CBackware = New CBackware()
    Dim b As CBackware
    a.Name = "Brot"
    b = a
    If a Is b Then
       s = "a ist gleich b." ' Ja, a ist gleich b.
    Else
       s = "a ist nicht gleich b."
    End If
    s = b.Name            ' Brot
    a.Name = "Brötchen"
    s = b.Name            ' jetzt: Brötchen
    ausgabe.innerHTML = s
Die Identität von a und b wird insbesondere durch die Anweisungen am Schluss deutlich. a.Name = "Brötchen" verändert gleichzeitig die Eigenschaft von a und von b, weil a und b auf das gleiche Objekt zeigen. Anschließend enthält auch b.Name die Bezeichnung "Brötchen". Einen Vergleich können Sie auch mit der Methode Equals erreichen, die das Stammobjekt Object automatisch an alle Klassen vererbt:
    If a.Equals(b) Then ...
### 3.8.2 Den Typ eines Objekts bestimmen Mit dem Operator TypeOf können Sie den Typ einer Variablen bestimmen.
    Dim a As CBackware = New CBackware()
    If TypeOf a Is CBackware Then
       s = "a ist eine Backware"  ' trifft zu
    Else
       s = "a ist keine Backware"
    End If
Auch folgender Vergleich trifft zu:
    If TypeOf a Is Object Then  ' trifft zu
Ein TypeOf-Vergleich trifft auf alle Klassen zu, die in der Hierarchie des fraglichen Objekts auftauchen. Wenn es eine Klasse CBrot gäbe, die von CBackware vererbt wäre, dann würde diese Abfrage ebenfalls zutreffen:
    Dim a As CBrot = New CBrot()
    If TypeOf a Is CBackware Then ' trifft zu, wenn CBrot
                                  ' von CBackware abstammt.
### 3.8.3 Objekte in andere Klassen konvertieren Ein Objekt, das Instanz einer speziellen Klasse ist, können Sie stets auch als Instanz einer allgemeineren Klasse ansprechen, von der die spezielle Klasse abgeleitet ist. Die beiden folgenden Prozeduren in vb_09.aspx verdeutlichen die Vorgehensweise. Der Funktion malsehen kann ein beliebiges Objekt übergeben werden. Die Funktion malsehen überprüft, ob das übergebene Objekt vom Typ CBackware ist. In diesem Fall kann sie die Eigenschaft Name ausgeben. Sonst wird eine Information zum übergebenen Objekt mit toString ausgegeben. Die aufrufende Prozedur Page_Load übergibt testweise mehrere Objekte. Zunächst eine Instanz von CBackware, dann eine Integer-Variable und dann eine Instanz von System.Object. Bei CBackware ruft malsehen korrekt die Eigenschaft Name ab, nachdem die Variable mit CType in ein Objekt vom Typ CBackware umgewandelt wurde.
    malsehen = CType(x, CBackware).Name
Bei den beiden anderen Objekten ruft malsehen toString auf. Im Falle der Integer-Variablen führt toString dazu, dass die Zahl ausgegeben wird. Im Falle der System.Object-Variablen wird der Name der Klasse ausgegeben.
    Sub Page_Load (ByVal Sender As Object, _
                   ByVal E As EventArgs)
       Dim s As String
       Dim a As CBackware = New CBackware()
       a.Name = "Brötchen"
       If TypeOf a Is CBackware Then
          s = "a ist eine Backware"
       Else
          s = "a ist keine Backware"
       End If
       s &= "<br>" & malsehen(a) ' Brötchen
       Dim i As Integer = 5
       s &= "<br>" & malsehen(i) ' 5
       Dim k As Object = New Object
       s &= "<br>" & malsehen(k)  ' System.Object
       ausgabe.innerHTML = s
    End Sub

    Public Function malsehen (ByVal x As Object) As String
       If TypeOf (x) Is CBackware Then
          malsehen = CType(x, CBackware).Name
       Else
          malsehen = x.toString
       End If
    End Function
    Class CBackware
       Public Name As String
    End Class
Das Beispiel ist für die ASP.NET-Programmierung nicht untypisch. Tatsächlich erhalten alle Ereignisprozeduren einen solchen Object-Parameter, den Sie gelegentlich erst in die speziellere Klasse zurückverwandeln müssen, bevor Sie gezielt damit arbeiten können. Auch Page_Load macht da keine Ausnahme. Der erste Parameter ByVal Sender As Object ist genau ein solches Objekt. Im Falle von Page_Load kann man aus dem Sender-Objekt nur wenig Nutzen ziehen. Interessanter wird es, wenn beispielweise eine Schaltfläche ein Click-Ereignis auslöst. Auch der Ereignisprozedur für das Click-Ereignis wird die auslösende Schaltfläche als Object-Variable übergeben, die Sie innerhalb des Codes in eine speziellere Klasse, etwa Button, zurückverwandeln können. Darüber können Sie Details über die auslösende Schaltfläche in Erfahrung bringen. Im Laufe des Buches wird dieser Fall gelegentlich demonstriert werden.
<< zurück | <top> | vor >>
Zum Katalog
Einstieg in ASP.NET bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung

.NET-Bibliothek
| Einstieg in VB.NET
| VB.NET
| Einstieg in C#
| Visual C#
| VB.NET und Datenbanken

Empfehlung
| Einstieg in XML

Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

MyGalileo
Der Service für registrierte Leser: Info

Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de