|
|
CONSIGLIATO DA LIBRINFORMATICA
C# 2005 guida per lo sviluppatore
|
| Editore | Hoepli |
| Autore | Nagel C. ; Evjen B. ; Glynn J. ; Skiner M. ; Watson K. ; Jones A. |
| Titolo originale | Professional C# 2005 |
| Editore originale | Wrox Press |
| Collana | Linguaggi e Programmazione |
| Pagine | 1247 |
| Volumi | 1 |
| Livello | Avanzato |
| Lingua | Italiano |
| Data pubblicazione | 12 - 2005 |
| ISBN | 8820335891 |
|
|
| Prezzo di copertina |
| Euro 59,90 |
|
Introduzione
Il significato di .NET e C#
Vantaggi di .NET
Cosa c’è di nuovo nel framework .NET 2.0
Integrazione di SQL Server
Supporto a 64-bit
Tipi generici
Metodi anonimi
Tipi annullabili
Iteratori
Classi parziali
A cosa è adatto C#
Di cosa bisogna disporre per scrivere e utilizzare il codice C#
Di cosa tratta questo libro
Parte I: Il linguaggio C#
Parte II: L’ambiente .NET
Parte III: I dati
Parte IV: Applicazioni per Windows
Parte V: Applicazioni web
Parte VI: Comunicazione
Parte VII: Interoperabilità
Parte VIII: Servizi di base di Windows
Parte IX: Appendici (solo sul sito web)
Convenzioni
Il codice sorgente
Errata p2p.wrom.com
Capitolo 1 –L’architettura .NET
La relazione tra C# e .NET
Il Common Language Runtime
I vantaggi del Manadeg Code
L’Intermediate Language
Orientazione ad oggetti e interfacce
I Tipi: valori e riferimenti
Forte tipizzazione
Gestione degli errori tramite eccezioni
L’uso di attributi
Gli assembly
Private assembly
Shared assembly
Reflection
Le classi del framework .NET
I namespace
Creare applicazioni .NET usando il C#
Creare applicazioni ASP .NET
Creare Windows Form
Windows Control
Servizi Windows
Il ruolo del C# nella .NET Enterprise Architecture
Riepilogo
Capitolo 2 – Le basi del C#
Prima di iniziare
Il primo programma in C#
Il codice
Compilare ed eseguire il programma
Uno sguardo da vicino
Variabili
Inizializzazione di variabili
Area di visibilità delle variabili
Costanti
Tipi di dati predefiniti
Tipi di valore e tipi di riferimento
I tipi CTS
I tipi di valore predefiniti
I tipi di riferimento predefiniti
Controllo di flusso
Istruzioni condizionali
Cicli
Le istruzioni di salto
Le enumerazioni
Gli array
I namespace
L’istruzione using
Gli alias dei namespace
Il metodo Main()
Metodi Main() multipli
Passaggio di argomenti a Main()
Qualcosa di più sulla compilazione di file C#
I/O da console
Usare i commenti
Commenti interni nei file sorgente
Documentazione XML
Le direttive del Preprocessore C#
#definie e #undef
#if, #elif, #else e #endif
#warning ed #error
#region ed #endregion
#line
#pragma
Linee guida nella programmazione C#
Regole per gli identificatori
Convenzioni di utilizzo
Riepilogo
Capitolo 3 – Oggetti e tipi
Classi e tipi strutturati
I membri della classe
Membri di tipo dato
Membri di tipo funzione
Campi in sola lettura
Tipi strutturati
I tipi strutturati sono tipi di valore
Tipi strutturati ed ereditarietà
Costruttori per tipi strutturati
Classi parziali
Classi statiche
La classe Object
I metodi di System Object
Il metodo ToString()
Riepilogo
Capitolo 4 – Ereditarietà
Tipi di ereditarietà
Ereditarietà di implementazione e di interfaccia
Ereditarietà multipla
Strutture e classi
Ereditarietà di implementazione
Metodi virtuali
Nascondere i metodi
Invocare funzioni della classe base
Classi e funzioni astratte
Classi e metodi “sigillati”
Costruttori di sottoclassi
I modificatori
Modificatori di visibilità
Altri modificatori
Interfacce
Definire e implementare interfacce
Interfacce derivate
Riepilogo
Capitolo 5 – Operatori e cast
Operatori
Operatori abbreviati
L’operatore ternario
Gli operatori checked e unchecked
L’operatore is
L’operatore as
L’operatore sizeof
L’operatore typeof
I tipi annullabili ed operatori
L’operatore di null coalescing
La precedenza tra gli operatori
Sicurezza dei tipi
Conversioni di tipo
Boxing e unboxing
Comparazione di uguaglianza tra oggetti
Comparazione di uguaglianza tra tipi di riferimento
Comparazione di uguaglianza tra tipi di valore
Overloading degli operatori
Come funzionano gli operatori
Un esempio di overload di operatore: la struct Vector
Di quali operatori si può fare l’overload?
Cast definiti dall’utente
Implementare cast definiti dall’utente
Cast multipli
Riepilogo
Capitolo 6 – Delegate ed eventi
Delegate
La dichiarazione dei delegate in C#
Usare i delegate in C#
Metodi anonimi
L’esempio SimpleDelegate
L’esempio BubbleSorter
Delegate multicast
Eventi
La visione dell’evento da parte del ricevente
Generare gli eventi
Riepilogo
Capitolo 7 – Gestione della memoria e puntatori
La gestione della memoria
Tipi di dato a valore
Tipi di dato a riferimento
Garbage collection
Liberare risorse non utilizzate
Distruttori
L’interfaccia IDisposable
Implementare IDisposable e un distruttore
Codice non sicuro
Puntatori
Un esempio di puntatore: PointerPlayaround
Utilizzare i puntatori per migliorare le prestazioni
Riepilogo
Capitolo 8 – Stringhe ed espressioni regolari
System.Stringh
Costruire stringhe
I membri di StringBuilder
Formattare le stringhe
Espressioni regolari
Introduzione alle espressioni regolari
L’esempio RegularExpressionsPlayaround
Stampare i risultati
Match, gruppi e capture
Riepilogo
Capitolo 9 – Collezioni
Esaminare i gruppi di oggetti
Collezioni
Liste array
La classe Stack
La classe Queue
La classe SortedList
Dizionari e Hashtable
Tipi generici
Riepilogo
Capitolo 10 – I generici
Presentazione
Velocità
La sicurezza dei tipi
Riutilizzare il codice binario
L’espansione del codice
Linee guida sui nomi
Collezioni generiche
Descrizione delle collezioni generiche
Usare la classe List
Usare la classe Queue
Usare LinkedList
Creazione di classi generiche personalizzate
Valori di default
I constraint
Metodi generici
Delegate generici
Altri tipi generici
Nullable
EventHandler
ArraySegment
Riepilogo
Capitolo 11- Reflection
Attributi personalizzati
Scrivere degli attributi personalizzati
Un esempio di attributo personalizzato: WhatsNewAttributes
Reflection
La classe System.Type
La classe Type View
La classe Assembly
Completamento dell’esempio WhatsNewAttributes
Riepilogo
Capitolo 12 – Errori ed eccezioni
Uno sguardo agli errori e alla gestione delle eccezioni
Classi di eccezioni
Catturare le eccezioni
Classi di eccezione definite dall’utente
Riepilogo
Capitolo 13 – Threading
Cos’è il threading
Applicazioni multi-thread
Gestire i thread
Un esempio: ThreadPlayaround
Priorità bei thread
Sincronizzazione
Creare thread usando ThreadPool
Riepilogo
Capitolo 14 – Visual Studio 2005
Lavorare con Visual Studio 2005
Creare un progetto
Soluzioni e progetti
Il codice per una applicazione Windows
Importare progetti in Visual Studio 6
Esplorare e sviluppare un progetto
Compilare un progetto
Debugging
Il refactoring
Riepilogo
Capitolo 15 – Gli assembly
Cosa sono gli assembly
La risposta ai problemi delle DLL
Le funzionalità degli assembly
I domini delle applicazioni e gli assembly
Struttura di un assembly
Manifesto dell’assembly
Namespace, assembly e componenti
Assembly privati e condivisi
Vedere gli assembly
Costruire un assembly
Il supporto a più linguaggi
CTS e CLS
Indipendenza dal linguaggio in azione
Requisiti CLS
Global Assembly Cache
Generatore di codice nativo
Global Assembly Cache Viewer
Global Assembly Utility (gacutil.exe)
Creare assembly condivisi
I nomi degli assembly condivisi
Creare un assembly condiviso
Configurazione
Categorie di Configurazione
Le versioni
Configurare le cartelle
Riepilogo
Capitolo 16 – Sicurezza in .NET
Sicurezza nell’accesso del codice
Gruppi di codice
I permessi d’accesso e gli insiemi di permessi
I tre livelli: Macchina, Utente e Enterprise
Il supporto alla sicurezza nel framework
Domandare i permessi
Richiedere i permessi
Permessi impliciti
Negare i permessi
Aggiungere permessi
Creare permessi nell’accesso del codice
Sicurezza dichiarativa
Gestire le regole di sicurezza
Il file per la configurazione della sicurezza
Gestire gruppi di codice e permessi
Attivare e disattivare la sicurezza
Ripristinare le regole di sicurezza
Creare un gruppo di codice
Cancellare un gruppo di codice
Cambiare un permesso di un gruppo di codice
Creare e applicare insiemi di permessi
Distribuire codice utilizzando un nome unico
Distribuire il codice usando certificati
Gestire le zone
Sicurezza basata sui ruoli
Il principale
Utilizzare un principale
I ruoli
Sicurezza basata sui ruoli dichiarativa
Riepilogo
Capitolo 17 – Localizzazione
Namespace System.Globalization
Problematiche Unicode
Culture e regioni
Culture in azione
Ordinamento
Risorse
Creare file di risorse
Generatore di file di risorse
Resource Writer
Utilizzare file di risorse
Il namespace System.Resources
Esempio di localizzazione con Visual Studio
Cambiare la cultura da codice
Utilizzare risorse messaggi personalizzate
Ritorno automatico delle risorse
Sviluppare esternamente le traduzioni
Localizzazione con ASP .NET
Un lettore personalizzato di risorse
Creare un DatabaseResourceReader
Creare un DatabaseResourceSet
Creare un DatabaseResourceManager
Applicazione client per DatabaseResourceReader
Creare culture personalizzate
Riepilogo
Capitolo 18 – Distribuzione
Progettazione per la distribuzione
Opzioni di distribuzione
Xcopy
Strumento Copy Web
Pubblicazione siti web
Distribuzione progetti
ClickOnce
Requisiti di distribuzione
Distribuzione semplice
Xcopy
Xcopy ed applicazioni web
Strumento Copy Web
Pubblicazione siti web
Installare progetti
Che cos’è Windows Installer?
Creazione Installer
ClickOnce
Operazione ClickOnce
Pubblicare un’applicazione
Impostare ClickOnce
La cartella nascosta dell’applicazione
Sicurezza
Opzioni avanzate
Riepilogo
Capitolo 19 – Accesso ai dati con .NET
Descrizione di ADO .NET
I namespace
Classi condivise
Classi legate a database specifici
Utilizzare le connessioni ai database
Gestire le stringhe di connessione
Utilizzare le connessioni efficientemente
Transazioni
Comandi
Eseguire i comandi
Invocare le stored procedure
Accesso rapido ai dati: Il Data Reader
Gestire dati e relazioni: la classe DataSet
Le tabelle di dati
La classe DataColumn
Relazioni tra i dati
Vincoli sui dati
Schemi XML
Generare il codice con XSD
Popolare un DataSet
Popolare una classe DataSet con un adattatore per i dati
Popolare un DataSet dall’XML
Cambiamenti persistenti al DataSet
Aggiornare con gli adattatori per i dati
Scrivere dell’output in XML
Lavorare con ADO .NET
Sviluppo multistrato
Generazione di chiavi con SQL Server
Convenzioni di nomenclatura
Riepilogo
Capitolo 20 – Programmare .NET con SQL Server 2005
Un nuovo ospite: Il Runtime .NET
Microsoft.SqlServer.Server
Tipi definiti dall’utente
Creare gli UDT
Usare gli UDT
Utilizzare gli UDT nel codice lato client
Aggregati definiti dall’utente
Creazione aggregati definiti dall’utente
Utilizzare gli aggregati definiti dall’utente
Stored procedure
Creazione di stored procedure
Utilizzare le stored procedure
Funzioni definite dall’utente
La creazione di funzioni definite dall’utente
Utilizzare le funzioni definite dall’utente
I trigger
La creazione dei trigger
Usare i trigger
Il tipo di dati XML
Tabelle con dati XML
Query sui dati
Il linguaggio di modifica dei dati XML (XML DML)
Gli indici XML
L’XML fortemente tipizzato
Capitolo 21 – Utilizzare XML
Il supporto degli standard XML in .NET
Introduzione al namespace System.Xml
Utilizzare MSXML in .NET
Utilizzare le classi di System.XML
Lettura e scrittura di stream XML
Utilizzare la classe XmlReader
La validazione con XMLReader
Utilizzare la classe XmlWriter
Utilizzare il DOM in .NET
Utilizzare la classe XmlDocument
Usare XPathNavigator
Il namespace System.Xml.XPath
Il namespace System.Xml.Xsl
XML e ADO .NET
Convertire XML in dati ADO .NET
Leggere e scrivere un DiffGram
Serializzare gli oggetti in XML
Serializzazione senza accesso al codice sorgente
Riepilogo
Capitolo 22 –Lavorare con Active Directory
L’architettura di Active Directory
Caratteristiche
Concetti di Active Directory
Caratteristiche dei dati di Active Directory
Schema
Strumenti di amministrazione per Active Directory
Active Directory Users and Computers
ADSI Edit
Programmare Active Directory
Classi in System.DirectoryServices
Collegamento
Ottenere elementi dalla directory
Collezioni di oggetti
Cache
Creare nuovi oggetti
Aggiornare elementi nella directory
Accedere ad oggetti ADSI nativi
Cercare in Active Directory
Cercare oggetti utente
Interfaccia utente
Ottenere il contesto dello schema di naming
Ottenere i nomi delle proprietà della classe user
Cercare oggetti user
DSML
Le classi in System.DirectoryServices.Protocols
Cercare oggetti ActiveDirectory con DSML
Riepilogo
Capitolo 23 – Windows Form
Creare un’applicazione Windows Form
Gerarchia di classi
Classe Control
Dimensione e posizione
Aspetto
Interazione con l’utente
Funzionalità di Windows
Funzionalità miste
Componenti e Controlli Standard
Button
CheckBox
RadioButton
ComboBox, ListBox, e CheckedListBox
DateTimePicker
ErrorProvider
HelpProvider
ImageList
Label
ListView
PictureBox
ProgressBar
TexBox, RichTextBox e MaskedTextBox
Panel
FlowLayoutPanel e TableLayoutPanel
SplitContainer
TabControl e TabPages
ToolStrip
MenuStrip
ContextMenuStrip
ToolStripMenuItem
ToolStripManager
ToolStripContainer
Form
Classe Form
Interfaccia a documenti multipli (MDI)
Riepilogo
Capitolo 24 – I dati in .NET
Il controllo DataGridView
Visualizzazione di tabelle
Risorse dati
Gerarchia di classi di DataGridView
Data Binding
Simple Binding
Oggetti Data-Binding
Visual Studio .NET e Data Access
Creare una Connection
Selezionare i dati
Aggiornare la sorgente dati
Costruire uno Schema
Altri requisiti comuni
Riepilogo
Capitolo 25 – Grafica con GDI+
Comprendere i principi del disegno
GDI and GDI+
Disegnare forme
Dipingere le forme utilizzando OnPaint()
Utilizzare la Clipping Region
Misurare coordinate ed aree
Point e PointF
Size e SizeF
Rectlangle e RectangleF
Region
Una nota riguardo al debugging
Disegnare in una finestra scorrevole
Coordinate world, page, e device
Colori
I valori Red-Green-Blue (RGB)
Modalità do visualizzazione dei colori e safety palette
Safety palette
Penne e pennelli
Pennelli
Penne
Disegnare figure e linee
Visualizzazione immagini
Problemi quando si manipolano immagini
Scrivere elementi di testo
Esempio di semplice testo
Font e famiglie di font
Esempio: elencare le famiglie dei font
Elaborazione di un documento di testo: l’esempio CapsEditor
Il metodo Invalidate()
Calcolare la dimensione degli elementi e del documento
OnPaint()
Trasformazione delle coordinate
Rispondere all’input dell’utente
Stampare
Implementazione di stampa ed anteprima di stampa
Riepilogo
Capitolo 26 – Pagine ASP .NET
Introduzione ad ASP .NET
Gestione dello stato in ASP .NET
Web Form ASP .NET
Il modello di codice ASP .NETY
Controlli server ASP .NET
ADO .NET e Data Binding
Aggiornare l’applicazione di prenotazione eventi
Ancora sul Data Binding
Configurazione di un’applicazione
Riepilogo
Capitolo 27 – Sviluppare in ASP .NET
Controlli personalizzati
Controlli utente
Controlli utente in PCSDemoSite
Controlli personalizzati
Pagine master
Pagine master in PCSDemoSite
Navigazione di un sito
Navigazione in PCSDemoSite
Sicurezza
Aggiungere la Forms Authentication con il security wizard
Implementare un sistema di Login
Controlli server web di login
Proteggere le directory
La sicurezza in PCSDemoSite
Temi
Applicare temi alle pagine
Definire i temi
Temi in PCSDemoSite
Riepilogo
Capitolo 28 - Web Service
SOAP
WSDL
Web Service
Esporre i Web Service
Sfruttare i Web Service
Espandere l’esempio Event-Booking
Il Web Service Event-Booking
Il client Event-Booking
Scambiare dati utilizzando header SOAP
Riepilogo
Capitolo 29 - .NET Remoting
Contesti
Attivazione
Attributi e proprietà
La comunicazione fra contesti
Oggetti remoti, client e server
Oggetti remoti
Un semplice server
Un semplice client
L’architettura .NET Remoting
Canali
Formattatori
ChannelServices e RemotingConfiguration
Attivazione di un oggetto
Sink di messaggi
Passare oggetti in metodi remoti
Gestione del ciclo di vita
Altre funzionalità del .NET Remoting
File di configurazione
Ospitare server in ASP .NET
Classi, interfacce e Soapsuds
Remoting asincrono
Sicurezza con il .NET Remoting
Remoting ed eventi
Contesti di chiamata
Riepilogo
Capitolo 30 – Enterprise Service
Introduzione
Storia
Dove impiegare Servizi enterprise
Contesti
Transazioni automatiche
Transazioni distribuite
Object Pooling
Sicurezza basata su ruoli
Componenti in coda
Eventi con accoppiamento lasco
Servizi senza componenti
Creare una semplice applicazione COM+
La classe ServicedComponent
Firmare l’assembly
Attributi dell’assembly
Creare il componente
Deployment
Deployment automatico
Deployment manuale
Creare un pacchetto installer
Il Componente Services Explorer
L’applicazione client
Transazioni
Le proprietà ACID
Attributi della transazione
Risultati di una transazione
Applicazione dimostrativa
Classi di entità
Il componente OrderControl
Il componente OrderData
Il componente OrderLineData
L’applicazione client
Servizi senza componenti
Riepilogo
Capitolo 31 – Message Queuing
Introduzione
Quando utilizzare Message Queuing
Caratteristiche di Message Queuing
Prodotti di Message Queuing
Architettura di Message Queuing
Messaggi
Code di messaggi
Strumenti amministrativi per Message Queuing
Creare code di messaggi
Proprietà della coda di messaggi
Programmare Message Queuing
Creare una coda di messaggi
Trovare una coda
Aprire code conosciute
Inviare un messaggio
Ricezione dei messaggi
L’applicazione Course Order
Libreria di classi di Course Order
L’applicazione mittente di Course Order
Inviare priorità e messaggi recoverable
L’applicazione ricevente di Course Order
Ricezione dei risultati
Code di riconoscimento
Code di risposta
Code transazionali
Installazione di una coda di messaggi
Riepilogo
Capitolo 32 – Il futuro della programmazione distribuita
I problemi di oggi
Web Service
Sicurezza
Affidabilità
Transazioni
Prestazioni
Introduzione a Indigo
Programmare con Indigo
Contratti
Implementazione del servizio
Collegamento
Hosting
Client
Prepararsi per Indigo
.NET Remoting
Web Service ASP .NET
Enterprise Service
Messaggistica su code
Riepilogo
Capitolo 33 –Interoperabilità con COM
.NET e COM
Metadati
Liberare la memoria
Interfacce
Collegamento di metodi
Tipi di dati
Registrazione
Gestione dei thread
Gestione degli errori
Gestione degli eventi
Marshaling
Utilizzare un componente COM da un client .NET
Creare un componente COM
Creare un wrapper richiamabile dal runtime
Problematiche di Threading
Aggiungere punti di connessione
Utilizzare controlli ActiveX in Form Windows
Utilizzare oggetti COM dall’interno di ASP .NET
Utilizzare un componente .NET da un client COM
Wrapper richiamabile da COM
Creare un componente .NET
Creare la type library
Attributi di COM Interop
Registrazione COM
Creare un client COM
Aggiungere punti di connessione
Creare un client con un oggetto sink
Eseguire controlli Windows Form in Internet Explorer
Riepilogo
Capitolo 34 – Gestione dei file e del registro di sistema
Gestire il file system
Classi .NET che rappresentano file e cartelle
La classe Path
Esempio: un browser di file
Spostare, copiare e cancellare file
Esempio: FilePropertiesAndMovement
Uno sguardo al codice di FilePropertiesdAndMovement
Leggere e scrivere file
Leggere un file
Scrivere un file
Flussi
Flussi bufferizzati
Leggere e scrivere su file binari utilizzando FileStream
Leggere e scrivere su file di testo
Leggere informazioni dai dischi
Sicurezza sui file
Leggere ACL da un file
Leggere ACL da una cartella
Aggiungere e rimuovere ACL da un file
Leggere e scrivere sul registro
Il registro
Le classi .NET per il registro
Esempio: SelfPlacingWindow
Riepilogo
Capitolo 35 – Accedere a Internet
La classe WebClient
Scaricare file
Un esempio basilare di client Web
Inviare file
Le classi WebRequest e WebResponse
Altre caratteristiche di WebRequest e WebResponse
Visualizzare Output come pagine HTML
Implementare una semplice navigazione del Web dalla propria applicazione
Eseguire istanze di Internet Explorer
Fornire alla propria applicazione ulteriori funzionalità tipo IE
Mostrare documenti utilizzando il controllo WebBrowser
Stampare utilizzando il controllo WebBrowser
Visualizzare il codice di una pagina richiesta
Gerarchia di classi di WebRequest e WebResponse
Classi di utilità
URI
Indirizzi IP e nomi DNS
Protocolli a basso livello
Classi di basso livello
Riepilogo
Capitolo 36- Servizi di Windows
Cosa è un servizio Windows?
Architettura dei servizi Windows
Programma servizio
Programma di controllo del servizio
Programma di configurazione del servizio
Il namespace System.ServiceProcess
Creare un servizio Windows
Una libreria di classi che utilizza le socket
Esempio TcpClient
Progetto del servizio Windows
Threading e servizi
Installazione del servizio
Programma di installazione
Supervisionare e controllare il servizio
Gestione del computer con MMC
net.exe
sc.exe
Server Explorer di Visual Studio
La classe ServiceController
Ricerca dei problemi
Servizi interattivi
Logging degli eventi
Supervisione delle prestazioni
Eventi legati all’alimentazione del sistema
Riepilogo
Indice analitico
|
|
|
|