Identificare il nome di una variabile in C#
Supponiamo di voler identificare il nome di una variabile in C#.
Quindi non il contenuto, ma proprio come abbiamo chiamato la variabile.
Per farlo possiamo usare nameof.
Ad esempio:
string str = "CIAO";
string nomeVar = nameof(str);
Console.WriteLine(nomeVar);
A questo punto potreste chiedere a che ci serve.
Potremmo fare un esempio del genere:
public class MainClass
{
public static void Main(string[] args)
{
int miaVar = 0;
myLog("Value changed", nameof(miaVar), miaVar);
}
public static void myLog(string message, string variableName, object value)
{
Console.WriteLine($"[{DateTime.Now}] {variableName}: {value}");
}
}
In pratica nel log passiamo anche il nome della variabile che ha creato un valore.
Può essere comodo invece di assegnare il nome "a mano".
Enjoy!
c# nameof
Commentami!