J'ai cette erreur
"Impossible d'affecter un groupe de méthodes à une variable locale implicitement typée"
dans ce code
private async void Button_Click_2(object sender, RoutedEventArgs e)
{
var frenchvoice = InstalledVoices.All.Where(voice => voice.Language.Equals("fr-FR") & voice.Gender == VoiceGender.Female).FirstOrDefault; // in this line
sp.SetVoice(frenchvoice);
await sp.SpeakTextAsync(mytxt);
}
Vous avez oublié d'appeler la fonction (avec ()
)
Vous devez ajouter les crochets pour appeler la méthode FirstOrDefault
var frenchvoice = InstalledVoices.All
.Where(voice => voice.Language.Equals("fr-FR") &&
voice.Gender == VoiceGender.Female)
.FirstOrDefault();
Et, alors que votre code fonctionne également à l'aide de l'opérateur &, le bon à utiliser dans une condition logique est &&
Soit dit en passant, FirstOrDefault
accepte le même lambda appliqué pour Where afin que vous puissiez réduire votre code à un plus simple et probablement plus rapide
var frenchvoice = InstalledVoices.All
.FirstOrDefault(voice => voice.Language.Equals("fr-FR") &&
voice.Gender == VoiceGender.Female);