Podczas projektowania niestandardowych wyjątków dla .NET, MSDN zapewnia these guidelines. W szczególności, z wytycznymi, które zwyczaj wyjątek:Implementowanie niestandardowych wyjątków w przenośnej bibliotece klas
- należy serializacji, to realizować
ISerializable
i być ozdobione atrybutu[Serializable]
i - powinien realizować (de) konstruktora szeregowania, tj
protected CustomException(SerializationInfo info, StreamingContext context)
.
Jednak w Portable Class Library Żaden z SerializableAttribute
, ISerializable
i SerializationInfo
są obsługiwane.
W jaki sposób należy zaprojektować niestandardowy wyjątek w bibliotece klas przenośnych, która jednocześnie jest przeznaczona dla platformy .NET Framework i jednej lub wielu platform?
Wielkie dzięki za wyjaśnienia, Marc. Podejrzewałem, że tak właśnie było (wskazówki nie zostały zaktualizowane na przykład dla .NET 4.5), ale czuję się bardziej pewny uzyskania potwierdzenia z wiarygodnego źródła. –
@Asoby Dodałem kilka uwag do sekcji "Treści społeczności" - mogą się one pojawić w pewnym momencie. –
Niektóre z nich są egzekwowane w czasie wykonywania. Na przykład, jeśli spróbujesz dodać coś do kolekcji Exception.Data, rzuci wyjątek na pełną strukturę, ale nie na Silverlight. –