Nazwy używanych właściwości

0

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

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:

 
 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.

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.

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