Is there a built-in way to enumerate or iterate through all member variables in a C# class? I'm trying to implement a custom serialization solution.