Nazwy używanych właściwości

Nazwy używanych właściwości
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam - załóżmy, że mam klasę:

Kopiuj
class Person
{
 public string personName {get;set;}
 public string personCompany {get;set;} 
 public int personAge {get;set;}
}

Następnie w funkcji main() tak korzystam z tych właściwości:

Kopiuj
 
 Person p = new Person();
 p.personName = "Witek";
 p.personAge = 32;

Jak można zauważyć dla osobnika, w tym przypadku o imieniu "Witek" nie jest używana właściwość "personCompany".
Przy pomocy refleksji i typu PropertyInfo mogę wyświetlić wszystkie właściwości zadeklarowane w klasie, przy pomocy projektu Roslyn CTP mogę wyświetlić ich ukrytą implementację jednak ja chcę z poziomu metody main() lub też innej - nowej zadeklarowanej w całkiem innym miejscu wyświetlić tylko te właściwości (nazwy) z których korzystam. Czyli w tym przypadku oczekiwałbym na konsoli takiego wyjścia:

Property name => personName
Property name => personAge

Jak to zrobić?
Przyznam, że siedzę już nad tym od kilku dni i kompletnie nie mam pomysłu.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Musisz gdzieś indziej przechowywać informacje o tym, które właściwości ustawiałeś. Możesz mieć słownik par <właściwość, bool>, możesz też utworzyć typ MyProperty<T> z właściwościami bool Used i T Value, i tak opakowywać wszystkie swoje właściwości w klasie.

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.