Wątek przeniesiony 2015-01-20 01:44 z C# i .NET przez somekind.

C# Zagnieżdzenie Klass

0

Witam. W C# programuję od nie dawna, dopiero co poznaję jego strukturę.
Chcę uzyskać następujący efekt:
Po utworzeniu obiektu, nazwijmy go Film1 klasy Film chcę się odwołać do wewnętrznej klasy Set aby nadać wartość zamiennym Tytul i Rok. Chciałbym aby przebiegało to w taki sposób.

	Film1.Set.Tytul("Wilk z Wall Street");
	Film1.Set.Rok("2014");

Oraz chciałbym analogicznie w ten sam sposób pobierać dane obietku Film1

	Film1.Get.Tytul();
	Film1.Get.Rok();

Niestety, nie jestem w stanie ani tego uzyskać, ani znaleźć odpowiedzi jak to uczynić.

Obecnie buduję klasę w następujący sposób:

public class Film
{
	string Tytul;
	string Rok;

	// pomocnicze metody
	protected void Set_Tytul(string Title) { this.Tytul = Title; }
	protected void Set_Rok(string Date) { this.Rok = Date; }
	protected string Get_Tytul() { return this.Tytul; }
	protected string Get_Rok() { return this.Rok; }
	// klasa Set
	public class Set:Film
	{
		public void Tytul(string Title) { Set_Tytul(Title); }
		public void Rok(string Date) { Set_Rok(Date); }
	}
	// klasa Get
	public class Get:Film
	{
		public string Tytul() { return Get_Tytul(); }
		public string Rok() { return Get_Rok(); }
	}
}
Film Film1 = new Film();

Tak zbudowana klasa nie wywala obecnie błędów.

2

Źle, wszystko do wywalenia.

Wystarczy jak będzie

class Film
{
   public string Tytul {get;set;}
   public DateTime Data {get;set;}
   public string InneDuperele {get;set;}
}

Film film = new Film();
film.Tytul = "Wilk z Wall Street"
itp

Nie tworzysz żadnych wewnętrznych klas Get i Set to nie ma sensu. Poczytaj o właściwościach.

0

Faktycznie, właściwości get i set rozwiązują problem jednocześnie skracając długość mojego kodu. Dziękuję za wyjaśnienie.

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