2014-04-16 2 views
1

Я определил ICollection, какДобавить элементы ICollection

public virtual ICollection<Attempt> Attempts { get; set; } 

Attempt И определяется как

public class Attempt 
{ 
    public Guid Id { get; set; } 
    public string AttemptsMetaData { get; set; } 
    public DateTime Time { get; set; } 
    public bool Answered { get; set; } 
    public DateTime Disconnected { get; set; } 
} 

Теперь я хочу передать ICollection методу.

public void AddTask(ICollection<Attempt> attempts) 
{ 
    // Do something to the item in attempts. 
} 

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

 // test data 
     Guid id = new Guid(); 
     string attempt = "test"; 
     DateTime dt = DateTime.Now.AddDays(-1); 
     bool answered = true; 
     DateTime disconnected = DateTime.Now; 
     ICollection <Attempt> attempts= new List<Attempt>(); 
     // try to add sample data to the list 
+0

ICollection - более абстрактный интерфейс. Предпочитаю IEnumerable для этих сценариев. – Dhanasekar

+0

создать экземпляр объекта «Попытка», задать значения свойств и вызвать attempsts.Add (ваш экземпляр идет сюда); –

ответ

3
List<Attempt> attempts= new List<Attempt>(); 
//Create a Instance of Attempt 
Attempt objAtt = new Attempt(); 
Guid id = new Guid(); 
objtAtt.Id =id; 
objtAtt.Time = DateTime.Now; 
objAtt.AttemptsMetaData ="test"; 
objAtt.Answered = true; 
objAtt.Disconnected = DateTime.Now; 
attempts.Add(objAtt); 

Здесь вы передаете метод,

AddTask(attempts); 

Ваш метод, как это,

public void AddTask(List<Attempt> attempts) 
{ 

} 
+0

Затем, как передать его в AddTask (попытки ICollection)? –

+0

@love проверить измененный ответ – Sajeetharan

+0

@ Love - вы можете передать список, который у вас есть. Являясь базовым интерфейсом, он принимает список. – Dhanasekar

0
var attempt = new Attempt(/*whatever here*/); 

attempts.Add(attempt); 

AddTask(attempts); 
0

Вы попробуйте это:

public void AddTask(Attempt objAtempt) 
    { 
     List<Attempt> attempts = new List<Attempt>(); 
     objAtempt.Id = Guid.NewGuid(); 
     objAtempt.Time = DateTime.Now; 
     objAtempt.AttemptsMetaData = "test"; 
     objAtempt.Answered = true; 
     objAtempt.Disconnected = DateTime.Now; 
     attempts.Add(objAtempt); 
    } 
Смежные вопросы