sabato 3 maggio 2025

C# extended property text for control Textbox con method get array byte or name file

Nel caso che abbiamo l'esigenza di estendere la proprietà Text del controllo Textbox nel linguaggio C#, per ottenere lo stream di file o nome del file, i frammenti di codice qui di seguito illustrano tale tecnica.
Supponiamo di avere la necessità di salvare i dati nel database, in particolar modo lo stream dati di un file ed il nome del file stesso, e che la casella di testo, Textbox, viene usata per riportare il percorso e nome del file. 
Estendere il metodo ToSTring, che utilizziamo nella proprietà Text evita a scrivere codice ripetuto.

Di seguito il frammento di codice, da inserire in una classe a parte (per esempio Utility),


C#

/// <summary>

        /// Metodo che restituisce lo stream dati di un percorso

        /// </summary>

        /// <param name="percorso">Indicare percorso e nome file</param>

        /// <returns></returns>

        public static byte[] RestituisciStreamFile(this string percorso)

        {

            if (string.IsNullOrWhiteSpace(percorso))

            {

                return null;

            }

           return File.ReadAllBytes(percorso);

            

        }

 

 

        /// <summary>

        /// Restituisce il nome del file

        /// </summary>

        /// <param name="percorso"></param>

        /// <returns></returns>

        public static string NomeFile(this string percorso)

        {

            if (string.IsNullOrWhiteSpace(percorso))

            {

                return null;

            }

            return Path.GetFileName(percorso);

 

        }


Di seguito il relativo utilizzo

C#

File = txtDocumento.Text.Trim() != "" ? txtDocumento.Text.RestituisciStreamFile() : null,

NomeFile = txtDocumento.Text.Trim() != "" ? txtDocumento.Text.ToString().NomeFile() : "",

Nessun commento:

Posta un commento