Witam.
Zazwyczaj tylko czytam posty i nie zadaję żadnych pytań. Tym razem jednak nie znalazłem nigdzie interesującej mnie odpowiedzi.
W jaki sposób stworzyć sobie w c# taki uniwersalny setter i getter jaki da się zrobić w php?
private $dane = array();
function __get($parametr)
{
if (isset($this->dane[$parametr]))
return $this->dane[$parametr];
return '';
}
// ustawia atrybut
function __set($parametr, $wartosc)
{
$this->dane[$parametr] = $wartosc;
}
klasa musi być możliwa do serializacji (Remoting), dlatego też odpada Dictionary.
Na obiekcie RejRekord wykonywana jest zdalna metoda klasy zdalnej i później zmodyfikowany obiekt RejRekord jest zwracany.
[Serializable]
public class RejRekord
{
public string Imie1;
public string Imie2;
public string Nazwisko;
public string Studia;
public string Folder;
public string Indeks;
public string GrupaLab;
public string DataRej;
public void SetField(string FieldName, string FieldValue)
{
this.FieldName = FieldValue;
}
public string GetField(string FieldName)
{
return this.FieldName;
}
public RejRekord()
{
}
}
Mogłoby to być też zrobione na jakiejś tablicy, aby można było zapisywać zmienne, których nazwy nie zostały uwzględnione w momencie pisania klasy.
public void SetField(string FieldName, string FieldValue)
{
this.tablica[FieldName] = FieldValue;
}
public string GetField(string FieldName)
{
return this.tablica[FieldName];
}