シリアル化を行う前に単純にUserに戻すのはなぜですか?
いくつかは、XmlSerializerをの周り掘り行った後、これは私のためにそれをしない:
var myUser = new myUser();
myUser.Name = "Test name";
var serializer = new XmlSerializer(typeof(User), new Type[] {myUser.GetType()});
serializer.Serialize(Console.Out, myUser);
ここで(この場合はユーザー)あなたはキャストしたい基本型と
XmlSerializer
を作成して行われているのは何
あなたが許可したいと思う他のタイプの配列だけでなく、これらの型は基本型から派生しなければならないようです。
出力:
<?xml version="1.0" encoding="ibm850"?>
<User xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org 2001/XMLSchema" xsi:type="myUser">
<Name>Test name</Name>
</User>
注xsi:type="myUser"
、これはあなたの直列化復元プロセスの問題を引き起こすかどうかわかりません。
わかりません。基本タイプからすべてのメンバーを継承するタイプは、どのように流暢な検証ルールを手助けしますか? – svick
http://stackoverflow.com/questions/9068134/controller-input-validation-in-mvc-api/9068366#9068366 – Jules
しかし、それは継承については何も言いません。実際、 'User'がすべてのプロパティを持つ型であれば、' myUser'は基本型のメンバを派生型で削除することができないので、この種の検証には役に立ちません。 'myUser'は' User'を使うだけでは実現できない目的は何ですか? – svick