如何将结构参数添加到List中

时间:2013-02-20 04:27:31

标签: c#-4.0

我有接口,因为我有一个List

     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; }

      }

在页面中加载我正在使用一个开关添加列表值。所以我试图绑定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

1 个答案:

答案 0 :(得分:0)

您需要创建struct的实例并将其添加到列表中,您可以这样做:

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

List的Add方法期望结构QueueListItem的对象,并且您传递三个参数。您应该看到:Object and Collection Initializers (C# Programming Guide)