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

    [C#] Proprietà invisibili?

    Interessante, ieri facendo un piccolo script è uscito fuori che un oggetto presenta una proprietà che non viene mostra dall'IDE come suggerimento ma che non genera errore se usata e oltretutto funziona.

    L'oggetto è un NumericUpDown, è quella text con due freccette per incrementare/decrementare un numero.

    Siccome in principio usavo una TextBox al posto suo, invece di fare eoni di controlli per farmi inserire un valore numerico intero in un certo range ho usato direttamente il NumericUpDown mantenendo lo stesso nome per comodità, tanto ci si può anche scrivere a mano dentro e accetta solo numeri.

    Il bello era che nel codice avevo già fatto alcune procedure che interaggivano sulla proprietà Text della TextBox, ma nonostante in realtà il NumericUpDown non ha la proprietà Text bensì la proprietà Value che è Decimal, continuava a funzionare tutto bene senza errori.

    Il bello è che Text funzionava bene sia per la lettura (restituendo il valore numerico come stringa, un pò come fare Value.ToString()) e in scrittura, potendo impostare il Value direttamente con una stringa, a patto che fosse un'entità numerica, altrienti il Value non cambia.

    Che dire, una proprietà nascosta ma tanto utile :rollo:

  2. #2
    Per tua cultura, per ottenere quel risultato si applica ai membri da nascondere l'attributo System.ComponentModel.EditorBrowsableAttribute.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Ma che senso ha nascondere una proprietà tanto utile?

  4. #4
    Perché non è di uso comune e forse può anche provocare problemi; se usi un NumericUpDown significa che hai bisogno di ottenere e mostrare numeri, e perciò la proprietà Text non dovrebbe nemmeno esserci. Addirittura probabilmente se la imposti ad un valore non numerico e cerchi di ottenere il valore di Value verrà sollevata un'eccezione.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.