-1

我正在使用 Task() 在我的应用程序启动期间卸载工作。它工作正常。然后它不是......如果我做对了,我正在制作“SomeStatusradGridView”的副本。这意味着我应该没问题,除了我收到以下错误:

此异常最初是在此调用堆栈中引发的:HumanResources.cs 中的 [外部代码] MOSES.Logic.HumanResources.HumanResources.SomeStatusradGridView(Telerik.WinControls.UI.RadGridView) MOSES.Presentation.Main.Main_Load.AnonymousMethod__15_0() 中的 Main。 cs [外部代码]

这是我遇到问题的代码:

public Main()
{
    Task<RadGridView> task2 = Task<RadGridView>.Factory.StartNew(() =>
    {
        return HumanResources.SetSomeStatusView(SomeStatusradGridView);
    });

    SomeMorkWork();

    SomeStatusradGridView = = task2.Result;
}

public static RadGridView SetSomeStatusView(RadGridView rgv)
{
    List<T> someList = new List<T>();
    rgv.DataSource = someList;
    return rgv;
}

现在,如果我进行以下更改:

public static RadGridView SetSomeStatusView(RadGridView rgv)
{
    RadGridView fresh = new RadGridView();
    List<T> someList = new List<T>();
    fresh.DataSource = someList;
    return fresh;
}

我没有收到错误消息,但这似乎表明没有制作副本。任何见解都会很棒。

谢谢!

4

1 回答 1

0

好的...我一发布问题就发现了答案...

SomeStatusradGridView 在设计器中具有焦点或被激活,而之前没有。我将焦点设置为不同的控件。Main() 出现就好了。将焦点重置回 SomeStatusradGridView 并重新出现错误。

于 2020-11-30T16:18:59.847 回答