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

Odpowiedz Nowy wątek
2011-08-11 19:44
Walery
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
}

Pozostało 580 znaków

2011-08-11 19:51
msm
0
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.

edytowany 3x, ostatnio: msm, 2011-08-11 19:53

Pozostało 580 znaków

2011-08-11 19:55
Walery
0

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

To przeczytaj najpierw sam jakąś książkę. Jak mama usłyszy że chcesz 80 zł na książkę, a nie na szlugi pewnie ci da. - massther 2011-08-12 09:25
Wydaje mi się że przed wydaniem 80zł na książkę można przejrzeć pierwszy lepszy tutek na necie, bo to są absolutne podstawy, a 80zł warto zostawić na materiały o czymś bardziej zaawansowanym (tudzież - szlugi) :) - havi 2011-08-14 04:19

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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