Der Ausdruck muss ein Klassentyp aufweisen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Anweisungen müssen innerhalb des Codeblocks einer Klasse stehen (Schlüsselwort class). Zudem müssen Anweisungen in einer Methode stehen, da C#, anders als z. B. Python, Perl oder Ruby nicht Top-Down den Code abarbeitet. Zudem muss ein Objekt in C# zuerst erzeugt werden, bevor es benutzt werden kann. Wenn ein Objekt nicht existiert, dann kann es nicht verwendet werden. Dein Code sollte in etwa diesem Konstrukt entsprechen:

using System;

namespace OOPExample
{
    public class Dinosaur
    {
        // öffentliche Eigenschaften
        public string Name { get; set; }
        public string Period { get; set; }
        // private Eigenschaften
        private int age { get; set; }

        // öffentliche oder private Methoden;
        // diese können Anweisungen enthalten.
        // Der Aufruf einer Methode gilt ebenfalls als Anweisung.
        public void setAge(int newAge)
        {
             age = newAge;
        }
    }

    public class Test
    {
        // gültig, da erst ein Obejkt erzeugt werden muss.
        Dinosaur trex = new Dinosaur();
        // unzulässig, da Objekt nicht existiert
        compy.SetAge(3);
    }
}
Woher ich das weiß:Berufserfahrung

nur ein abschnitt des kompletten codes, aber nur bei diesem die Fehlermeldung