Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C# .NET 4.0] Using e Riferimenti

    Ciao a tutti.
    Probabilmente sto per porre una domanda banale, ma quello che ho trovato in rete è un po' criptico, ed essendo io alle prime armi sono alla ricerca di una spiegazione semplice.

    La domanda fondamentalmente è: cosa sono gli using e cosa invece sono i riferimenti.
    Se non ho capito male gli using che si mettono all'inizio del file .cs permettono di "includere" nel file stesso le classi del framework che desidero utilizzare.

    Ma allora i riferimenti cosa sono?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    I riferimenti sono quelli che tu chiami "using".

    Gli "using" invece sono dei comandi che ti permette di dire al compilatore che utilizzerai tutte le classi e i costrutti di una determinata dll.

    In teoria (se uno volesse) potrebbe non usare nessuno "using" e programmare scrivendo sempre il namespace di ogni oggetto.

  3. #3
    Uh, quindi non avevo capito nulla!
    Vediamo se ho capito. Quelli che io chiamo "using" (che, giusto per essere più chiaro nei prossimi post, potresti dirmi correttamente come si fa riferimento a loro?), servono semplicemente per evitare di scrivere tutto il "percorso" delle classi, ma per poter utilizzare le classi (del framework, o mie se inserite in un altro assembly) devo ricorrere ai riferimenti.

    E' corretto?

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Corretto

  5. #5
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    per mantenere logicamente ordinato un programma il codice puo essere suddiviso in namespace.

    quando definisco una classe generalmente la includo dentro un namespace. Il namespace è un nome completamente arbitrario che contraddistingue univocamente la tua classe. La buona regole tuttavia è quella di usare dei nomi gerarchici e separare i livelli di gerarchia con il punto.

    Es.

    Libreria
    Libreria.FunzioniMatematiche
    Libreria.FunzioniTesto

    Sono tre namespace diversi dentro cui puoi definire delle classi. Per poter usare quelle classi devi usare il loro nome completo cioè devi anteporre il nome del namespace per esempio una classe Calcoli dentro Libreria.funzioniMatematiche va usata cosi:

    calcolatore = new Libreria.FunzioniMatematiche.Calcoli();

    il fatto di dover anteporre il namespace per ogni utilizzo della classe in esso contenuto è un pugno negli occhi e per questo si usano le direttive using.

    using Libreria.FunzioniMatematiche;

    mi permette di usare la classe Calcoli senza dover ogni volta usare il suo nome completo il quale è dato anche dal namespace.

    Una cosa che dovresti tener presente è che, come ti ho detto prima, la gerarchia è una convenzione a tuo uso e consumo ma non è riconosciuta dal compilatore. Se vuoi usare le classi sia di Libreria e sia di Libreria.FunzioniMatematiche devi mettere entrambe le using. Il fatto che hanno un nome che richiama una gerarchia è solo un modo per tenerle in ordine ma per il compilatore sono namespace diversi.

    --

    Quando si progetta una libreria di classi quindi è bene tenerla suddivisa in namespace e la regola è quella di ordinare i vari namespace gerarchicamente. Una volta compilata, questa libreria diventa un file dll (per es. libreria.dll) per cui per accedere a tutte quelle classi e a quei namespace bisogna prima fare riferimento a questo file dll. da visual studio l'operazione è molto semplice basta cliccare con il destro su riferimenti e puntare alla dll.
    Da questo momento in poi tutti i namespace presenti nella dll saranno visibili dal nostro progetto e quindi potremmo usare le classi della dll o con il loro nome completo o attraverso le direttive using in testa al file.

    Da qui un altra regola d'oro per l'organizzazione dei namespace: una singola root-name per dll dalla quale poi si diramano i vari sotto-nomi, per esempio in una singola dll (libreria.dll) questa struttura:

    Libreria
    Libreria.FunzioniMatematiche
    Libreria.FunzioniTesto

    è ben organizzata

    mentre questa:

    Libreria1
    Libreria1.FunzioniMatematiche
    Libreria1.FunzioniTesto
    Libreria2
    Libreria2.FunzioniSulleDate

    non va bene e non vedrai (spero) mai dll organizzate in questo modo.

  6. #6
    Wow. Grazie mille a tutti. Siete stati molto chiari. Grazie ancora.

  7. #7

    Re: [C# .NET 4.0] Using e Riferimenti

    Originariamente inviato da WebMinus
    La domanda fondamentalmente è: cosa sono gli using e cosa invece sono i riferimenti.
    Ciao,
    in parole povere:
    Per poter utilizzare una libreria (classi e metodi contenuti), il tuo progetto deve avere un "riferimento" verso di essa, ovvero sapere dove sta e poterla "leggere".
    Per fare questo si aggiunge appunto un "riferimento":
    tasto destro sul tuo progetto web, poi Pagina delle Proprietà.
    Vedi appunto un elenco dei riferimenti attualmente in uso (le schermate posso essere leggermente diverse, dipende dalla versione di VS e dal tipo di progetto)
    In basso hai anche il pulsante "aggiungi"
    (vedi allegato)

    Bene, una volta aggiunto il riferimento, puoi utilizzare classi e metodi nel tuo codice.
    per utilizzarli è necessario scrivere il NameSpace completo.
    Ti ha spiegato egregiamente questa parte rsdpzed.

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.