Brak możliwości stworzenia nullowego obiektu mojej klasy.

0

Mam Klasę(krótki kod poniżej). Dlaczego gdy próbuje stworzyć obiekt tej klasy w ten sposób:
Hex? mojObiekt = new Hex()
Otrzymuje błąd:

The type 'SteamGame.Map.Hex' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'System.Nullable<T>'

Przecież ja nie umieszczam tego w żadnej liście. Nie rozumiem w czym jest problem. Mógłby mi to ktoś troszkę przybliżyć?

    public abstract class Hex
    {
        #region Veriables
        readonly Dictionary<HexDirections, Hex> neighbors;
        #endregion

        #region Properties
        public Dictionary<HexDirections, Hex> Neighbors
        {
            get { return this.neighbors; }
        }
        #endregion

        #region Constructors
        public Hex()
        {
            this.neighbors = new Dictionary<HexDirections, Hex>();
        }
        #endregion
}
1
Hex? mojObiekt = new Hex()

Po pierwsze - klasy są zawsze nullable więc po co ten ?? O tym właśnie mówi ten błąd. Nie ma tam nic o żadnej liście, wnioskuje że nie przetłumaczyłeś komunikatu który dostałeś...

Po drugie:

public /* ????? >>>>>> */ abstract /* <<<<<< ?????? */ class Hex

Nie można utworzyć instancji klasy abstrakcyjnej.

0

Dzięki za odpowiedź. Uczę się tego wszystkiego, ale sam, więc gubię się w tym jeszcze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1