Они, конечно, могут, но вам придется использовать отражение, чтобы сделать это. Даже то, что вы можете сделать это, не означает, что это легко или изящно.
Reflection предоставит вам доступ к каждому члену любого типа, который вы пожелаете. Вам нужно было бы извлечь этих членов и работать с API отражения .NET, чтобы манипулировать ими. Хотя это может сработать, это будет нелегко сохранить или прочитать.