XmlSerializer - Klasse ableiten
-
Ich habe eine serialisierbare Klasse:
System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"2.0.50727.42"), System::SerializableAttribute, System::Diagnostics::DebuggerStepThroughAttribute, System::ComponentModel::DesignerCategoryAttribute(L"code"), System::Xml::Serialization::XmlTypeAttribute(AnonymousType=true), System::Xml::Serialization::XmlRootAttribute(Namespace=L"http:...", IsNullable=false)] public ref class Response { private: Header^ head; private: int number; /// <remarks/> public: property Header^ Time { Header^ get(); System::Void set(Header^ value); } }; [Serializable... ...] public ref class Header { private: String^ time; get/set... }
Ich rufe per ASP.Net [WebMethod] den Service auf und erhalte als Return meine Response-Klasse. Klappt alles einwandfrei.
Dann leite ich von der Header-Klasse ab, füge neues Element dazu:
public ref class MyHeader : public Header{ public: String^ name; }; [WebMethod] Response^ getMethod() { Response^ my = gcnew Response(); MyHeader^ myH = gcnew MyHeader(); myH->Name = "hans"; my->time = "1400"; ... return response; }
Danach kommt bei Abruf des Service als Response: The type <namespace>.MyHeader was not expected...".
Ich will im Grunde die eigentliche Header Klasse zurückgeben und die abgeleitete Klasse nur für interne Zwecke noch weiter befüllen.
Lösung?