私は、カスタム例外クラスを書く方法について、MSのベストプラクティスに従ってきました(FxCopによって最初に強制されたのか、だから今、それはだとC#、メトロアプリケーション、カスタム例外クラス
.API System.Runtime.Serialization.SerializationInfo in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. com.visionobjects.myscript.hwr.dll calls this API.
.API System.SerializableAttribute in MSCORLIB, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. com.visionobjects.myscript.hwr.dll calls this API.
(他は拒否の中で...)
を:これらのクラスは、Windows 8アプリ証明書キットによって拒否されます
using System;
using System.Runtime.Serialization;
[Serializable]
public sealed class MyGreatException : Exception
{
public MyGreatException()
: base() {}
public MyGreatException(string message)
: base(message) {}
public MyGreatException(string message, Exception inner)
: base(message, inner) {}
private MyGreatException(SerializationInfo info, StreamingContext context)
: base(info, context) {}
}
今日:と私のクラス次のように書いています2012年カスタム例外クラスを作成するにはどうすればよいですか? [Serializable]
とカスタムシリアル化(私はとにかく必要ない)を処理するプライベートコンストラクタを削除するだけですか?
EDIT
私は[Serializable]
とプライベートコンストラクタを削除しました。私はそれが私のカスタム例外クラスをシリアライズ不可能にすると思います。これはクラスライブラリによって公開されるクラスなので、ライブラリを使用してコードにどのような影響を与えますか?
あなたの質問で「ありがとう」と署名することは許可されていませんか? :) –
挨拶、挨拶やその他の通常の書式は、そんなに怒っている。個人的には気にしませんが、編集する人もいます。 – jv42