961 messaggi dal 29 aprile 2002
Ciao, forse è una domanda un pò stupida, ma mi chiedevo: Se creo una classe con modificatore private, questa classe sarà inaccessibile.. dall'esterno o anche dall'interno dello stesso assembly.. quindi a cosa serve una classe privata ? c'è un caso in cui è necessario o si usa creare classi private ?
Ciao ;)
Modificato da dops il 03 giugno 2007 15.00 -
ad esempio una nested class, ovvero un tipo nidificato all'interno di un altro tipo.

che vuoi sia utilizzato solo dove è dichiarato.

è solo un esempio. se dai un occhiata nel Framework trovi una discreta quantità da classi private.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
9 messaggi dal 07 aprile 2006
Ti consiglio di leggere il significato di private, protected ed altri modificatori di accesso nel SDK framework disponibile sul sito della microsoft.
La guida Visual C# ti puo' essere molto di aiuto per debellare il dubbio riguardo l'uso di private o di altri modificatori.
961 messaggi dal 29 aprile 2002
C#MIMMO ha scritto:
Ti consiglio di leggere il significato di private, protected ed altri modificatori di accesso nel SDK framework disponibile sul sito della microsoft.
La guida Visual C# ti puo' essere molto di aiuto per debellare il dubbio riguardo l'uso di private o di altri modificatori.

non ho intenzione di fare polemiche.. però a volte certe risposte mi impediscono di stare zitto.. perchè pensi che non conosca il significato di private e nello specifico a cosa serve un modificatore? Perchè questa smania di consigli superfli? non credi che per chiedere abbia già osservato? cosa dovrei andare a leggere che mi illumini sulla risposta a questa domanda? sò cosa significa e quando si usa private, public, internal etc.. la domanda è + specifica.
ciao dops, ti posto due righe di codice riguardo al mio post.

public class MainClass
{
    public MainClass()
    {
   
        InnerClass _subClass = new InnerClass();
        _subClass.InnerClassMetod();
    }

    private class InnerClass
    {
        public void InnerClassMetod(){}
    }
}


analogalmente a quanto accade per ogni campo privato definito in un tipo, MainClass può istanziare (il costruttore è pubblico) e manimpolare la classe privata definita al suo interno.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
961 messaggi dal 29 aprile 2002
nostromo ha scritto:
ciao dops, ti posto due righe di codice riguardo al mio post.

public class MainClass
{
    public MainClass()
    {
   
        InnerClass _subClass = new InnerClass();
        _subClass.InnerClassMetod();
    }

    private class InnerClass
    {
        public void InnerClassMetod(){}
    }
}


analogalmente a quanto accade per ogni campo privato definito in un tipo, MainClass può istanziare (il costruttore è pubblico) e manimpolare la classe privata definita al suo interno.

ciao marco

Si Marco avevo capito il tuo esempio nel primo post dove mi spiegavi che una classe privata potrebbe servire in un'altra classe che la innesta ;) Scusami se non ti ho risposto ma mi sono fatto prendere dalla risposta di c#mimmo.
Cmq riguardo al tuo esempio, se il costruttore fosse stato privato comunque non ci sarebbero stati problemi ad istanziarla no? visto che si trova nella stessa classe (MainClass).. o sbaglio ?
Modificato da dops il 04 giugno 2007 14.30 -
no se il costruttore fosse stato privato non avresti potuto istanziarla direttamente.

ma potevi benissimo creare un metodo statico nella classe InnerClass, chiamato Create() il quale restituisce un istanza di InnerClass.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
961 messaggi dal 29 aprile 2002
nostromo ha scritto:
no se il costruttore fosse stato privato non avresti potuto istanziarla direttamente.

ma potevi benissimo creare un metodo statico nella classe InnerClass, chiamato Create() il quale restituisce un istanza di InnerClass.

ciao marco

tipo:
public class MainClass
{
 public MainClass()
 {
   InnerClass _subClass = InnerClass.Create();
  
 }
 
 
 private class InnerClass
 {
   private void InnerClassMetod(){}
   private static InnerClass Create()
   {
     return InnerClass;
   } 
 }
} 

?
Modificato da dops il 04 giugno 2007 14.45 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.