Я пытаюсь сделать что-то, что я думал, было бы очень просто. Но это не работает, и я не могу понять, почему. Я также сбит с толку, почему я так много искал и не могу найти пример циклического перебора общего связанного списка и доступа к свойствам объектов, содержащихся в связанном списке. Кажется, что это было бы настолько просто, что было бы множество примеров.
У меня есть общий связанный список, определенный в моем классе как личное поле с соответствующим открытым свойством.
private LinkedList<MyObject> _genericLinkedListOfMyObjects;
У меня есть метод в моем классе, который я хотел бы использовать для перебора элементов связанного списка и доступа к значениям свойств элементов.
MyObject - это базовый класс со свойствами:
public class MyObject
{
public string property1 { get; set; }
public string property2 { get; set; }
}
Ни одна из следующих работ:
foreach (MyObject item in genericLinkedListOfMyObjects)
{
item.property1; //NOPE!
}
Это приводит к ошибке компилятора "MyObject" не содержит определения 'property1' и не имеет доступного метода расширения 'property1'можно найти первый аргумент типа 'MyObject' (отсутствует директива using или ссылка на сборку)? "
Nor
LinkedListNode<MyObject> current = genericLinkedListOfMyObjects.First;
while (current !=null)
{
current.Value.property1; //NOPE!
}
Это приводит к ошибке компилятора" 'MyObject'не содержит определения' property1 ', и невозможно найти доступный метод расширения' property1 ', принимающий первый аргумент типа' MyObject '(вы пропустилиctive или ссылка на сборку)? "
Nor
foreach (var item in genericLinkedListOfMyObjects)
{
MyObject myObj = item as MyObject; //NOPE!
}
Это приводит к ошибке компиляции" Параметр типа "MyObject" нельзя использовать с оператором "as", поскольку он не имеетограничение типа или ограничение класса.
Как я могу получить доступ к значению property1 для элемента в общем связанном списке, когда я зацикливаюсь? Заранее спасибо.