Con la reflection puoi effettuare numerose operazioni su qualunque assembly .NET caricato in memoria (sempre che il tuo codice ne abbia i permessi), e credo che si potrebbe anche risolvere il tuo problema utilizzandola adeguatamente. Tuttavia in questo caso credo che non sia il caso di stare a scomodarla, visto che c'è già un metodo apposta per ottenere i colori dotati di un determinato nome.