Zapoznanie się z platformą .NET i środowiskiem Visual Studio.
Wersje: 2.0, 3.0, 3.5.
3.0 to dodane 4 komponenty do 2.0. W 3.5 dodano wsparcie AJAXa.
Literatura:
Narzędzia:
Plan:
Aplikacja internetowa - rozproszona aplikacja skłądająca się z serwera www, przetwarzającego żądania i przeglądarki internetowej udostępniającej interfejs użytkownika.
Platforma .NET:
ASP.NET:
Podstawowe elementy ASP.NET:
Wady klasycznych aplikacji:
Model rozwijania aplikacji:
(...) <form id="form1" runat="server"> </form (...)
“runat='server'” - określa jak interpretowany będzie dany atrybut (form id=“form1”)
<script runat="server">
protected void Button1_Click(
object...
… umieszczane przed lub za lub w kodzie HTML.
Strony ASP.NET:
Język C#:
Definicja klasy (w jednym pliku):
class Hello { static void Main(string[] args) { Console.WriteLine("Hello world!"); } }
Definicja klasy w wielu plikach
partial class MyClass { (...) }
Modyfikatory dostępności klas:
Przestrzeń nazw:
namespace MyNamespace { namespace Inner { class MyClass { public static void F() {} } } }
Typ referencyjny (class): alokowany na stosie, na stosie przechowywana jest referencja do obiektu znajdującego się w stercie. Tryb wartości (struct): przechowywany na stosie (Wartość bezpośrednio umieszczona na stosie w całości - nic na stercie).
Konkatencja - doczytać.
Tablice:
Każdy case w switchu musi kończyć się break;iem (goto case 3).
W foreach() nie można modyfikować obiektu iterowanego.
Przekazywanie parametrów:
public void SetXY(int x, inty) { (...) } public void ReplaceXY(ref int x, ref int y) { (...) } public void GetXY(out int x, out int y) { (...) } // przekazywanie argumentów p.SetXY(x0, 4); //przez wartość p.ReplaceXY(ref x1, ref y1); //przez zmienna (...)
Zgłaszanie wyjątku (throw, try, catch, finally):
throw new Exception("Dzielenie przez zero");
finally { if (r1 != null) r1.Dispose(); }
Finally sluzy do tego by jakiś fragment zawsze został wykonany (np. zamkniecie pliku).
Using służy do obsługi zasobów - automatycznego, jawnego zwalniania zasobów niezarządzalnych (slajd 75)
Właściwości - kontrolowanie określonych pól (np. tylko do odczytu).
Tylko jedna klasa bazowa!
Dostępność składowych:
Klasa abstrakcyjna (abstract) - public abstract void Show();
Interfejsy - coś jak klasa abstrakcyjna.
Delegat (delegate) - klasa, ktora opakowuje f-cję.
Na podstawie delegatow utworzono zdarzenia.
Zdarzenie to rozszerzenie delegatow.