J'accède à cette méthode à l'aide de WPF. Je sais que lorsque j'accède à des objets d'une méthode extérieure, je devrais utiliser un Dispatcher. Ou le "noeud" est une variable locale et il me donne:WPF: Référence d'objet non définie sur une instance d'un objet
La référence d'objet n'est pas définie sur une instance d'un objet.
Pourquoi?
Voici le code:
SpeechSynthesizer valery = new SpeechSynthesizer();
XmlDocument xmlNews = new XmlDocument();
xmlNews.Load(string.Format("http://news.google.com/news?pz=1&cf=all&ned=us&hl=en&topic=tc&output=rss"));
foreach (XmlNode node in xmlNews.SelectNodes("/rss/channel/item"))
{
valery.Speak(node.SelectSingleNode("/title").InnerXml);
}
est 'xmlNews' attribué à quoi que ce soit? La même chose vaut pour 'valery' – JMK
XmlDocument xmlNews = new XmlDocument(); SpeechSynthesizer valery = nouveau SpeechSynthesizer(); –
'valery' pourrait être nul,' xmlNews' pourrait être nul et le résultat de 'node.SelectSingleNode' pourrait être nul. Si je suis honnête, je suspecte le dernier, ce qui signifie que l'appel de 'InnerXml' est tenté et déclenche l'exception. –