venerdì 28 marzo 2025

C# estendere la proprietà text del controllo Textbox - in modo che restituisce un array di byte o nome file

Questo frammento di codice in .Net, permette di estendere il metodo "ToString()) con due metodi, uno che restituisce l'array di byte e l'altro con il nome del file.
Supponiamo di avere delle textbox nelle quali viene inserito il percorso e nome di un file, di questi valori dobbiamo prendere lo stream del file ed il nome del file, per salvarli in una tabella del nostro database.

In una classe chiamata utility dove troviamo metodi ed altro, scriviamo i metodo che estendono il metodo "ToString",.

Si riporta il frammento di codice di tale dichiarazione

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 frammento di codice per utilizzare tali metodi della proprietà text del controllo Textbox


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

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


Nessun commento: