2016-05-22 4 views
0

netstandard1.5フレームワークを対象にしているときに、新しいExceptionを実装するにはどうすればよいですか? [Serializable]属性は使用できません。私の理解では、これは完全な.NETフレームワークに必要です。netstandard1.5での例外の実装

[Serializable] 
public class MyException : Exception 
{ 
    // ... 
} 

答えて

2

完全な.NET Frameworkは3つの魔法のコンストラクタを実装し、Serializableの属性とそれに注釈を付けるベストプラクティスを持っています。私の知る限りでは、これはリモーティングとアプリのドメインによるものです。しかし、それは直列化可能な属性なしで例外を送出することを妨げるものではありません。

ただし、シリアライゼーションが適用される場合(app Domains、remoting、...)、その例外のシリアライズが失敗することに注意してください。

.NET CoreプロジェクトのCoreFxライブラリ部分does notは、serializable属性を持つ例外クラスに注釈を付けます。

.NETコアチームはproblemを認識しています。

今後も継承可能な属性は使用可能になりますが、まだ.NET CoreのRC2ではIMHOです。

関連する問題