Odwołanie do właściwości po nazwie

Odwołanie do właściwości po nazwie
GR
  • Rejestracja: dni
  • Ostatnio: dni
0

Mam bardzo prostą klasę:

Kopiuj
public class Przykladowa
{
    public static string Wpis
    {
        get
        {
            return "Zawartosc";
        }
    }
}

Chciałbym w jakiś sposób odwołać się do właściwości, ale używając stringa. Coś w rodzaju:
Przykladowa.JakasMetoda("Wpis");
JakasMetoda zwraca mi object, który mogę już żutować na obiekt, który mnie intresuje. Jakieś pomysły?

RE
  • Rejestracja: dni
  • Ostatnio: dni
0

object property = typeof(Przykladowa).GetProperty("Wpis").GetGetMethod().Invoke(null, null);

GR
  • Rejestracja: dni
  • Ostatnio: dni
0

Możesz mi jeszcze podpowiedzieć jak odwołać się do właściwości nie będącej statyczną?

Kopiuj
public class Klasa
{
    public string Wlasciwosc { get { return "Helo"; } }
}
RE
  • Rejestracja: dni
  • Ostatnio: dni
0

object property = typeof(Klasa).GetProperty("Wlasciwosc").GetGetMethod().Invoke(instancjaKlasy, null);

ps. tak prawdę mówiąc nie wiedziałem jak to wszystko zrobić. Wiedziałem tylko, że Type klasy zawiera jej wszystkie elementy, reszta to podpowiedzi VisualStudio (Intellisense).

TomaszSmykowski
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Klasa kla = new Klasa();
            PropertyInfo pi = kla.GetType().GetProperty("Wlasciwosc");
            string Wartosc = (string)pi.GetValue(kla, null);
            MessageBox.Show(Wartosc);
        }
    }

    public class Klasa
    {
        public string Wlasciwosc { get { return "Helo"; } }
    }

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.