Fasko Geschrieben 30. Mai 2015 Geschrieben 30. Mai 2015 Hi, folgendes Problem, bezüglich C#. Sobald ich eine Klasse erstelle die eine statische Variable enthält und ich auf diese zugreifen möchte, kommt eine Fehlermeldung. Mir wird die Variable auch nicht angezeigt, wenn ich (wie im Beispiel) bit. eingebe. Hat da jemand eine Idee, wo der Fehler liegen könnte? Gruß Fasko Fehler 1 Auf den Member "StatischTest.A.zahl" kann nicht mit einem Instanzenverweis zugegriffen werden. Qualifizieren Sie ihn stattdessen mit einem Typnamen. c:\users\jo\documents\visual studio 2013\Projects\StatischTest\StatischTest\Program.cs 33 31 StatischTest using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StatischTest { public class A { public static int zahl; public void foo() { zahl++; } } class Program { static void Main(string[] args) { A bit = new A(); bit.foo(); Console.WriteLine(bit.zahl); Console.ReadKey(); } } } Zitieren
stefan.macke Geschrieben 30. Mai 2015 Geschrieben 30. Mai 2015 Wie die Fehlermeldung schon sagt: Du greifst über eine Instanz (bit) auf eine Klasseneigenschaft (static zahl) zu. Wenn du statische Eigenschaften nutzen möchtest (was Vor- und Nachteile, aber hauptsächlich Nachteile hat), musst du über die Klasse zugreifen, also A.zahl. Oder du machst zahl zur Instanzvariablen (ohne static) und greifst so zu, wie du es haben möchtest. Zitieren
arlegermi Geschrieben 30. Mai 2015 Geschrieben 30. Mai 2015 Du solltest dir am besten mal erschließen, was static überhaupt bedeutet. Ein erster Anlaufpunkt wäre bspw.: https://msdn.microsoft.com/de-de/library/98f28cdx.aspx?f=255&MSPPError=-2147217396 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.