5

ソリューションのレガシー コードにカスタム例外が多数あります。そして、私はすべてをテストしたい

プロジェクトに導入されたカスタム例外がシリアライズ可能 (XML)かどうかを確認する

では、カスタム例外がシリアライズ可能である場合、テストが合格するために何をチェックすればよいでしょうか?

カスタム例外がシリアル化可能であると言うために必要な最小要件は何ですか?

4

4 に答える 4

2

すべての例外クラスがIXmlSerializableインターフェイスを実装しているかどうかを確認できます。

Assert.IsTrue(yourExceptionInstance is IXmlSerializable);
于 2010-12-09T12:38:46.790 に答える
1

xmlSerializer.CanDeserialize(..)メソッドを使用することをお勧めします。

MSDN

于 2010-12-09T13:11:08.780 に答える
1

基本クラスは、既定の .NET XML シリアル化メカニズムでサポートされていないを実装Exceptionするパブリック プロパティを公開します。DataIDictionary

したがって、例外を XML シリアライズするIXmlSerializableには、カスタム XML シリアライゼーション ロジックを提供するために実装する必要があると思います。

それに基づいて、Frédéricが回答で示したように、クラスがその特定のインターフェースを実装していることを確認できます。

于 2010-12-09T12:53:39.870 に答える
0
typeof(MyException).IsSerializeable
于 2010-12-09T15:53:00.560 に答える