Я быстро запустил твой код и думаю, что понял твою проблему.Вам нужно выполнить поиск и замену в «объекте» и заменить его на «Блок», или в качестве альтернативы вам необходимо привести объекты, возвращаемые из функции getLast, к «Блоку».
Примеризменения будут выглядеть так:
LinkedList<Block> chain;
...
public Block getLatestBlock() {
return chain.Last.Value;
}
Это некоторые примеры изменений, которые должны быть внесены в класс Blockchain, могут быть и другие, но я не могупомните.
Теперь, когда вы вызываете функцию отображения, у вас есть доступ к функциям и методам каждого из экземпляров класса Block в связанном списке, например, так:
public void display()
{
foreach (var item in chain)
{
Console.WriteLine(item.getHash());
}
}
Теперь это будетраспечатать список хэшей при условии, что вы изменили все возвращаемые значения, типы и экземпляры, в которых вы использовали объект в связанном списке, на Block.
Причина этого в том, что вы создаете связанный список универсального объекта.s тогда во время компиляции C # понятия не имеет, что может быть в связанных списках.Это могут быть блоки или бананы, поэтому он не знает, какие функции и методы будут доступны для вызова каждому объекту.Таким образом, чтобы C # знал, что мы должны либо привести его с использованием «as Block» после того, как мы получим элемент из списка, либо в вашем случае просто установить тип всех значений в связанном, как «Block», как это выглядит в вашей программеу вас не будет общих записей в списке.
Надеюсь, это ответит на ваш вопрос.Если нет, дайте мне знать.