2

グリッドビューのデータソースを埋めるために使用しているこのメソッドですが、の場合getnewfalse値は返されず、単一のnull値を含むリストが返されます。

 private List<T> GetAll_T(bool getNew)
        {
            if (getNew)
                return (ViewState["T"] = Get_T()) as List<T>;
               //Get_T() returns a CustomList 
            return new List<T>
                {
                    ViewState["T"] != null ?
                    ViewState["T"] as T: 
                    (T)(ViewState["T"] = Get_T()) Collection
                };
        }

[ビューステートがnullの場合]2行目に警告が表示されます。式は常に偽です

論理的に正しいのに、なぜ警告があるのか​​!

4

1 に答える 1

0

コードスニペットから何CustomerService.GetAllCustomer()が返されるかは明確ではありません。

関数のline(2)でリストを返すように、またline(8)で単一のオブジェクトを返すように使用します。

このように書くことをお勧めします

private List<CustomerMaster> GetAllCustomer(bool getNew)
{
    if (getNew || null == ViewState["CustomerDataset"])
        ViewState["CustomerDataset"] = CustomerService.GetAllCustomer();
    return ViewState["CustomerDataset"] as List<CustomerMaster>;
}
于 2012-08-26T15:14:14.643 に答える