Spotkałem się ostatnio z koniecznością użycia właściwości z obiektów różnych typów, nie mających ze sobą nic wspólnego. Każdy z tych typów mógł posiadać właściwość "Synchronized" typu enum, w przypadku gdyby taka "property" istniała miałem pobrać jej wartość i po porównaniu z wartością wzorcową ustawić tą wartość na nową.
Do takich zadań możemy użyć funkcjonalności z "Reflection".