Dynamiczne tworzenie właściwości (properties)

Na początek geneza powstania problemu. Otóż jest wiele starszych systemów, które komunikują się z bazą danych za pomocą procedur. Otrzymują w ten sposób informacje na przykład w postaci obiektu DataSet czy DataTable, a następnie na nich wykonywane są różne operacje.
Mój problem, a raczej pytanie, powstało, gdy któryś raz z kolei brałem pierwszy wiersz z otrzymanych wyników, a następnie tworzyłem z nich konkretny tekst za pomocą string.Format()“Czy nie można tego przyśpieszyć?”. W ten sposób powstał pomysł by wykorzystać metodę rozszerzeniową FormatWith(). Trudność zagadnienia polega na tym, iż ta metoda wykorzystuje właściwości (properties) przesłanego do niej obiektu. Jak wiadomo, właściwości są statycznymi elementami klasy, a ja potrzebowałem tworzyć je dynamicznie – każda kolumna to property z wartością wiersza. “Czy jest to możliwe do osiągnięcia?”. Continue reading