Virtual,abstract .NET

di il
48 risposte

48 Risposte - Pagina 4

  • Re: Virtual,abstract .NET

    Ciao barba, come al solito da ogni tuo post si impara sempre qualcosa ; se ho capito bene la
    reflection è la capacità del compilatore di individuare nel codice sorgente i nomi delle classi, i tipi , le variabili ecc... A riguardo avrei due domande: 1) nelle documentazioni che ho letto , a riguardo del .NET, nomina sempre un codice "assembly", ecco a cosa si riferisce? 2) ritornando al discorso di array.createistance, io se vorrei creare un array, tramite la classe array, per un mio tipo di dati personalizzato(esempio pippo) dovrei ridefinire il metodo createistance?
  • Re: Virtual,abstract .NET

    Ciao dna_programmer,

    Gli .exe o le .dll creati dal Net Framework vengono chiamati assembly.
    Non sono dei veri e propri eseguibili, ma sono per l' appunto degli assembly, ovvero degli aggeggi con una struttura particolare che possono essere eseguiti dal runtime del NetFramework.

    Per creare Il tuo array di 'pippo' ti basta scrivere:
    
    Pippo[] v = (Pippo[]) Array.CreateInstance(typeof(Pippo), 10);
    v[0] = new Pippo();
    
  • Re: Virtual,abstract .NET

    Scusa allora perchè la classe array è astratta, e quindi predisposta per poter essere ereditata e sottoposta a overiding poiché possono essere istanziati vari tipi di array(interi,double,pippo) ecc?
  • Re: Virtual,abstract .NET

    Ciao dna_programmer

    La classe Array è astratta e come tutte le classi astratte non può essere istanziata direttamente ma bisogna creare un suo derivato (questo credo lo sapevi già).

    Il metodo 'CreateIstance' (che è un metodo statico, quindi non bisogna istanziare niente per usarlo) provvede a creare un opportuno discendente della classe Array.

    Diciamo che avevi capito giusto, bisogna sempre definire un derivato della classe Array, però tu non devi fare nulla, ci pensa il metodo CreateIstance a fare il lavoro per te.
Devi accedere o registrarti per scrivere nel forum
48 risposte