0

私はリストを持っているという点でインターフェースを持っています

     public interface IDisplayListQueue 
     {
     void BindQueueData();
    List<HomePage.QueueListItem> QueueDataSource { get; set; }
    }

HomePage.csで、私は構造体を持っています

       public struct QueueListItem
        {
        public int QueueID { get; set; }
        public int LinkText { get; set; }
        public int Uid { get; set; }

      }

ロードページで、リスト値を追加するために1つのスイッチを使用しています。したがって、QueueListItemをバインドしようとしていますが、エラーが表示されます。私のコードは

          switch (queue.QueueTypeID)
           {
           case (int)QueryType.DataEntry:
            dataEntry.QueueDataSource.Add(queue.QueueID, queueName, sentinel );
            break;
           case (int)QueryType.Sort:
             Sort.QueueDataSource.Add(queue.QueueID, queueName, sentinel );
            break;
           }

私が得ているエラーはオーバーロードではありません'追加'は3つの引数を取ります。それで、インターフェースにあるQueueListItemに値を追加する方法

4

1 に答える 1

0

のインスタンスを作成structしてリストに追加する必要があります。次のように実行できます。

dataEntry.QueueDataSource.Add(new QueueListItem()
                                { 
                                 QueueID= queue.QueueID, 
                                 LinkText= queueName, 
                                 Uid = sentinel
                                 });

リストのAddメソッドは構造体のオブジェクトを期待しており、QueueListItem3 つのパラメーターを渡しています。オブジェクトとコレクションの初期化子(C# プログラミング ガイド)

于 2013-02-20T04:38:21.363 に答える