AJAX Descriptors
So what is the purpose of the descriptor? The descriptor describes information about the component, such as properties, events, and methods. For properties, the descriptor states the name and type of the property, as well as whether the property is read-only or if null values are allowed.
So what does that govern? I was changing a component and found out that it governs a lot because whenever I changed the definition of the property, an exception was thrown at runtime, stating that a readonly property had a setter definition. So the ASP.NET AJAX framework is aware about your structures through the descriptor, and does perform validation.