Here properties (public T Element { get; set; })
are declared without the fields. Is there no need to declare fields than.
private class ListNode
{
public T Element { get; set; }
public ListNode NextNode { get; set; }
public ListNode(T element)
{
this.Element = element;
NextNode = null;
}
}