Stavo sperimentando con i generici nameof
. Non ho ottenuto il risultato che mi aspettavo. Non sono sicuro se questo fa parte delle specifiche o no.nome di Generics
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ($"Hello { nameof(FooBar<string>)! }");
}
}
class FooBar<T> { }
L'output che ottengo è
Hello FooBar!
mi si aspetterebbe alcuni dettagli circa i parametri di tipo.
ho provato con un metodo e che non riesce con un errore di compilazione:
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ($"Hello { nameof(Do<string>) }");
}
public static T Do<T>() {}
}
Error CS8084: An argument to nameof operator cannot be method group with type arguments (CS8084) (foo)
E 'questo perché nameof
è un costrutto in fase di compilazione e di farmaci generici sono tipi inizializzato in fase di esecuzione? O c'è qualche altra limitazione?