NullReferenceException在设置DataTransferManager数据时,这怎么可能?

时间:2015-07-14 12:17:34

标签: c# windows-runtime windows-phone-8.1 windows-8.1 win-universal-app

我得到了NullReferenceException并且我真的不知道它为什么会发生。 对于DataTransferManager的DataRequested方法,我的EventHandler中抛出异常。这是方法:

void dataTransferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
    DataRequest request = args.Request;

    // The Title is mandatory
    request.Data.Properties.Title = TranslationManager.GetLocalizedString("SomeTitle");

    // SharedString is never null, I get it with a ?? String.Empty
    request.Data.SetText(SharedString);
}

这是StackTrace:

  

at Windows.ApplicationModel.DataTransfer.DataPackage.SetText(String value)

     

at OneLocker.Views.CardPage.dataTransferManager_DataRequested(DataTransferManager sender,DataRequestedEventArgs args)

要添加EventHandler,我只需按照惯例进行操作:

DataTransferManager DataTransferManager = DataTransferManager.GetForCurrentView();
DataTransferManager.DataRequested += dataTransferManager_DataRequested;

让我感到烦恼的是,EventHandler在大多数情况下都可以正常工作,对于我应用的某些用户来说,它只会崩溃。 此外,我真的没有得到导致异常的原因。请求变量取自事件args,那么如何才能为null? 我在MSDN网站上看到了代码示例,他们从不在那里进行了某种错误检查,他们只是假设它永远不会为空。 那么它在这里崩溃是怎么回事?

非常感谢你的帮助!

塞尔吉奥

0 个答案:

没有答案