Rozdzia 4.
Przegld biblioteki klas .NET Framework
----------------------------------------------------------
Podstawowe przestrzenie nazw
----------------------------------------------------------
Wejcie i wyjcie  System.IO
----------------------------------------------------------
using System;
using System.IO;

class FileIOExample
{
   static void Main()
   {
      FileStream fs;
      FileInfo f;
      StreamReader sr;
      byte[] buf = new byte[10];
      string s;
      int i;

      for (i=0; i<10; i++)
         buf[i] = (byte) (65 + i);
      fs = File.Create("test.dat");
      fs.Write(buf, 0, 10);
      fs.Close();

      f = new FileInfo("test.dat");
      sr = f.OpenText();
      s = sr.ReadToEnd();

      Console.WriteLine("{0}", s);
   }
}

----------------------------------------------------------
Serializacja  System.Runtime.Serialization
----------------------------------------------------------
Imports System
Imports System.IO
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Formatters.Binary

Module SerializationExample

   <Serializable()> Class Employee
      Public Name As String
      Public Age As Integer
   End Class

   Sub Main()
      Dim E1 As Employee = New Employee()
      Dim E2 As Employee = New Employee()
      Dim FS As FileStream
      Dim BinForm As BinaryFormatter = New BinaryFormatter()

      E1.Name = "Robert"
      E1.Age = 36

      FS = File.Create("test.dat")
      BinForm.Serialize(FS, E1)
      FS.Close()

      FS = File.Open("test.dat", FileMode.Open)
      E2 = BinForm.Deserialize(FS)
      Console.WriteLine("E2 Imi: {0}", E2.Name)
      Console.WriteLine("E2 Wiek: {0}", E2.Age)
   End Sub
End Module

----------------------------------------------------------
XML  System.Xml
----------------------------------------------------------
Rodzina technologii XML
----------------------------------------------------------
<employees>
   <employee>
      <name>Robert</name>
      <age>36</age>
   </employee>
   <employee>
      <name>Anna</name>
   </employee>
</employees>
---
/employees/employee/name

----------------------------------------------------------
Transakcje  System.Transactions
----------------------------------------------------------
Kontrolowanie transakcji za pomoc zakresw transakcji
----------------------------------------------------------
using System.Transactions;

using (TransactionScope ts = new TransactionScope())
{
   // Wykonanie jakiego zadania, np. uaktualnienie rnych DBMS
   ts.Complete;
}

----------------------------------------------------------
Kontrolowanie zachowania transakcji
----------------------------------------------------------
using System.Transactions;

using(TransactionScope ts1 = new TransactionScope())
{
   // Wykonanie jakiego zadania, np. uaktualnienie dwch rnych DBMS
   using(TransactionScope ts2 = new TransactionScope())
   {
      // Wykonanie kolejnych zada, np. danie wykonania dwch kolejnych uaktualnie DBMS
      ts2.Complete;
   }
   ts1.Complete;
}
---
using (TransactionScope ts = new TransactionScope(RequiresNew)) {...}
---
using (TransactionScope ts = new TransactionScope(Suppress)) {...}

----------------------------------------------------------
GUI Windows  System.Windows.Forms
----------------------------------------------------------
Budowanie aplikacji za pomoc Windows Forms
----------------------------------------------------------
public class ExampleForm : System.Windows.Forms.Form
{
   private System.Windows.Forms.Button myButton;

   public ExampleForm()
   {
      Text = "Przykadowy formularz";
      myButton = new System.Windows.Forms.Button();
      myButton.Location = new System.Drawing.Point(50, 50);
      myButton.Size = new System.Drawing.Size(175, 50);
      myButton.Text = "Kliknij tutaj";
      myButton.Click += new System.EventHandler(myButton_Click);
      Controls.Add(myButton);
   }

   private void myButton_Click(object sender, System.EventArgs e)
   {
      System.Windows.Forms.MessageBox.Show("Nacinito przycisk");
   }
}

class DisplayForm
{
   static void Main()
   {
      System.Windows.Forms.Application.Run(new ExampleForm());
   }
}









