से कॉल करते समय वर्तमान शून्य है, मेरे पास एक तरीका है जिसे मैं यूनिट परीक्षण से कॉल करने का प्रयास कर रहा हूं। यह विधि वास्तविक जीवन में पृष्ठभूमि धागे से चलती है। यह यूआई थ्रेड के लिए invoke अद्यतनों में लात मारने के लिए कुछ कोड का उपयोग करता है (Application.Current.Dispatcher.BeginInvoke
का उपयोग ....)।एप्लिकेशन। एक अनजान
हालांकि Application.Current
null
यूनिट परीक्षणों से बुलाए जाने पर null
है।
मुझे वास्तव में ठीक करने के लिए सब कुछ के आसपास if (Application.Current !=null)
डालना नहीं है।
क्या इसके आसपास कोई अन्य तरीका है?
_statusUpdates एक ObservableCollection
है नीचे विधि मैं परीक्षण करने के लिए देख रहा हूँ में कोड का हिस्सा है (यह एक इकाई परीक्षण से एकीकरण के परीक्षण के अधिक है निष्पक्ष होना करने के लिए)।
Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (EventHandler)delegate
{
_statusUpdates.Add(new StatusUpdate
{
DateTime = DateTime.Now,
Message = "Checking For Messages"
});
}, null, null);
@SonerGonul :-) आप सभी प्रश्नों को सही करते हैं। आप एक अच्छे व्यक्ति हैं –
यदि आप यूनिट टेस्ट कर रहे हैं, तो क्या यह एप्लिकेशन कभी भी तत्काल हो रहा है? आमतौर पर मैं इस तरह की समस्या में भाग लेता हूं यदि एप्लिकेशन अभी शुरू हो रहा है या बंद हो गया है (और एप्लिकेशन अभी तक नहीं बनाया गया है, या पहले ही नष्ट हो चुका है)। – sircodesalot
@sircodesalot हां यह समस्या है Application.current शून्य है, क्योंकि मैं परीक्षण से चल रहा हूं। क्या कोई तरीका है कि मैं इसे तत्काल या कुछ करने के लिए मजबूर कर सकता हूं, बजाय चेक के लोड को जोड़ने के बजाय! = जगह पर नल? – DermFrench