2015-02-02 2 views
0

Я не уверен, что задаю этот вопрос правильно и у меня возникли проблемы с поиском того, что мне нужно в этом случае. У меня есть два класса. Один из них состоит из трех элементов, которые я назначу.Как добавить объект из класса в список в другом классе.

namespace Common.PriceFeed 
{ 
    public class SurchargeSKUList 
    { 
     public string WebSKUID { get; set; } 
     public decimal AdditionalPrice { get; set; } 
     public string Currency { get; set; } 
    } 
} 

Другой класс - это список, содержащий элементы из вышеуказанного класса.

namespace Common.PriceFeed 
{ 
    public class BaseSurcharge 
    { 
     public List<SurchargeSKUList> SKUList { get; set; } 
    } 
} 

Моя проблема, то я стараюсь использовать BaseSurcharge, я получаю ошибки, как я использую как тип в качестве переменной или что я «не может неявно преобразовать тип ...» Мой .net код ниже.

спасибо.

if (BaseSurcharges.Rows.Count > 0) 
{ 
    foreach (DataRow row in BaseSurcharges.Rows) 
    { 
     SurchargeSKUList newSKUList = new SurchargeSKUList(); 
     newSKUList.WebSKUID = row["WebSKUID"].ToString(); 
     newSKUList.AdditionalPrice = Convert.ToDecimal(row["AdditionalPrice"]); 
     newSKUList.Currency = row["Currency"].ToString(); 

     BaseSurcharge newSurcharge = new BaseSurcharge(); 
     newSurcharge.SKUList = List<SurchargeSKUList>newSKUList; 

     //BaseSurcharge List<SurchargeSKUList> newSurcharge = new BaseSurcharge 
     //BaseSurcharge newSurcharge = new BaseSurcharge(); 
     //newSurcharge.SKUList = newSKUList; 
      } 
     } 
+1

Возможно, лучше добавить 'C#' в свои теги. Больше людей увидят этот вопрос. – ispiro

ответ

5
newSurcharge.SKUList = List<SurchargeSKUList>newSKUList; 

должен быть изменен на:

newSurcharge.SKUList = new List<SurchargeSKUList>(); 
newSurcharge.SKUList.Add(newSKUList); 

Я не проверял это на Visual Studio. Таким образом, он может иметь некоторые синтаксические ошибки.

Но еще лучше - BaseSurcharge должен иметь SKUList = new List<SurchargeSKUList>(); в своем конструкторе.

+0

Это ему спасибо. Что касается вашего «лучшего еще» Вы имеете в виду, что я должен отбросить код в файл cs? Я немного смущен тем, как это будет работать. Спасибо. – joerdie

+0

@joerdie Я не уверен, что следую вашему вопросу. Вы спрашиваете, что такое конструктор? Если вы просто спрашиваете, что я предлагал сделать, тогда да. Если вы просто скопируете эту строку в конструктор базы BaseSurcharge, она создаст «Список», когда будет создан экземпляр «BaseSurcharge» («new BaseSurcharge») '), поэтому вам не понадобится' newSurcharge.SKUList = новый список (); 'позже. (Который будет создавать новый список каждый раз. Вероятно, не то, что вы ищете.) – ispiro

Смежные вопросы