Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Odniesienia do funkcji w C#, użycie notacji z

$
0
0

W skrócie: Chciałbym stworzyć program, który bierze stringa (bądź to z konsoli, bądź to z innych źródeł) i na podstawie jego zawartości wykonać odpowiednie funkcje (taki kalkulator konsolowy). Mam trzy klasy; Liczba, Operator i Zdanie. Konstruktor Zdania wyłapuje ze stringa na wejściu wszystkie Liczby i Operatory wstawia do odpowiednich tablic. Natomiast z rozpoznawaniem operatorów mam problem, bo są one powiązane z jakimiś funkcjami, które trzeba wykonać na liczbach. Aktualnie klasa wygląda jak poniżej, ale nie wiem, jak zapisać, kod, który określiłby typ każdej instancji Operatora bez użycia tego switcha w FunkcjiOperatora? Czy można stworzyć taki wskaźnik do funkcji. Słyszałem, że da się to zrobić z użyciem func<T>(a1,a2,....), ale nie wiem, jak tego dokonać.


	class Operator
	{
		string type;
		public Liczba Return(Liczba l) { return l; }
		public Liczba First(Liczba l1, Liczba l2) { return l1; }
		public Liczba Second(Liczba l1, Liczba l2) { return l2; }
		public Liczba Iloraz(Liczba l1, Liczba l2) { /*Kod na iloraz*/ }
		public Liczba Iloczyn(Liczba l1, Liczba l2) //Kod
		public Liczba Różnica(Liczba l1, Liczba l2) //Kod
		public Liczba Suma(Liczba l1, Liczba l2) //Kod
		public Liczba FunkcjaOperatora(Liczba l)
		{
			switch(type)
			{
				case "Return"
			}
		}
		public Liczba FunkcjaOperatora(Liczba l1,Liczba l2)
		{
			switch(type)
			{
				case "Iloraz"
				//i tak dalej
			}
		}
		public Operator(char input)
		{
			switch (input)
			{
				case ' ':
					this.type = "Return";
					break;
				case '+':
					this.type = "Suma";
					break;
				// i tak dalej...
			}
		}
	}

 


Viewing all articles
Browse latest Browse all 21942