C# Variablenwerte an andere Klassen übergeben

ElGrande-CG

Enthusiast
Thread Starter
Mitglied seit
13.05.2004
Beiträge
1.858
Ort
Hannover
Hi,

Ich möchte einzelne Variablen oder deren Werte von einer Klasse in eine andere übergeben. Programmiersprache ist C#

Wie macht man das am besten? Per Google gefundene Beispiele sind entweder für mein Problem nicht verwendbar oder unbrauchbar.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Normalerweise geschieht das über den Constructor beim initialisieren eines Objektes der Klasse. Wenn das Objekt allerdings schon existiert, dann kannst Du Werte in Variablen des Objektes schreiben. Die Variablen müssen natürlich als public deklariert werden.
 
public int <--- Invalid expression term "public"

Wie kann man Variablen sonst noch als public deklarieren?
 
mit welcher Umgebung schreibst du deine Programme? Normalerweise sollte die Deklarierung funktionieren. Extra bei mir noch mal ausprobiert: "public int test=0;" - ohne Probleme.
 
Und die Position der Deklarierung ist wie im Beispiel unten?

Bsp:

public partial class Name_der_Klasse{
public in test =0;

public Name_der_Klasse(){
...


sorry, muss jetzt weg. Kann erst morgen weiterhelfen.
 
Nicht ganz:

public void button2_Click(object sender, System.EventArgs e)
{
...
}

sollte es dafür eine andere Syntax geben, bin ich gerne für Tipps dankbar :bigok:
 
Anscheinend deklariest du deine Meber ( Varablen die an das Object gebunden sind ) an der falschen stelle.

Hier mal der aufbau einer simplen klasse

Code:
// Importieren von Namespaces um nicht die ganzezeit sowas wie
// System.String zu schreiben
using System;

// Definieren deines eigengen Namespaces
namespace MeinNamespace
{
	// Definieren der Classe
	public class SmallClass
	{
		// Mein Klassen Meber des Typs System.String
		public string AvairabelStoredStiring;

		// Der Construktur
		// Wird beim erstellen des Objects immer aufgerufen
		public SmallClass()
		{
			this.AvairabelStoredStiring = "Start Text";
		}

		// Definizion des Starpunktes des Programs
		public static void Main()
		{
			SmallClass cls = new SmallClass();

			// Den Wert von AvairabelStoredStiring in die Console Ausgeben
			Console.WriteLine(cls.AvairabelStoredStiring);

			// Eine Metodenaufruf
			cls.AMethode();

			// Und wieder den Wert von AvairabelStoredStiring in die Console Ausgeben
			Console.WriteLine(cls.AvairabelStoredStiring);

			// eine metode mit übergabeparamter aufrufen
			cls.StoreText("bla");

			// und mal gucken
			Console.WriteLine(cls.AvairabelStoredStiring);

			// jetzt den rückgabe wert der Methode ausgeben
			Console.WriteLine(cls.RueckgabeMethode());

			// jitzt mit einer statischen methode das object maipulieren
			SmallClass.ChangeClass(this);

			// und das letzttemal den wer ausgeben
			Console.WriteLine(cls.RueckgabeMethode());

			// warten bis enter gedrückt wird 
			Console.WriteLine("-- Drücke Enter um das Programm zu beenden --");
			Console.ReadLine();
		}

		// eine metode der Klasse
		public void AMethode()
		{
			this.AvairabelStoredStiring = "Some Other Text";
		}

		// eine Methode mit parametern
		public void StoreText(string Text)
		{
			this.AvairabelStoredStiring = Text;
		}

		// eine Methode mit rückgabewert
		public string RueckgabeMethode()
		{
			string MyString;
			MyString = "a tem string";
			return MyString;
		}

		// eine statische metode die die übergebene klasse abändert
		public static void ChangeClass(SmallClass cls)
		{
			cls.AvairabelStoredStiring = "From Static";
		}
	}
}

Ich habe es nicht getestet und jeden rechtschreibfehler einfach ignoriert. Aber es solte als veranschaulichung ok sein.

Wen du damit nicht weiter komst soltest du die ein guten C# Buch zulegen zb Nitty Gritty c#.
 
K, hab den Fehler gefunden, Variablen waren tatsächlich an der falschen Stelle deklariert.

Tja, das kommt davon, wenn Chef sagt "Wir programmieren hier in C#, hier ist sind die Visual Studio CDs, arbeiten sie sich da mal ein." :fresse:
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh