При разработке пользовательских исключений для .NET MSDN предоставляет эти рекомендации. В частности, в руководящих принципах указывается, что пользовательское исключение:
- должен быть сериализуемым, т.е. реализовать
ISerializable
и быть украшен атрибутом[Serializable]
и - должен реализовывать конструктор сериализации (de), т.е.
protected CustomException(SerializationInfo info, StreamingContext context)
.
Однако в Portable Class Library поддерживаются ни SerializableAttribute
, ISerializable
, и SerializationInfo
.
Как я должен правильно создать настраиваемое исключение в Portable Class Library, которое одновременно нацелено на .NET Framework и одну или несколько платформ?