c# - tipos - Implementación de excepciones personalizadas en una biblioteca de clases portátil
tipos de excepciones en c# (1)
Básicamente, ignore esa guía, que es para .NET completo, y no se aplica a proyectos de bibliotecas de clases portátiles. De hecho, si miramos (digamos) Silverlight (que incluye WP7) vemos:
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public class Exception
Francamente, el principal consumidor de ese requisito fue el control remoto ... y eso no tiene una gran demanda ahora.
Al diseñar excepciones personalizadas para .NET, MSDN proporciona estas pautas . En particular, las directrices establecen que una excepción personalizada:
- debe ser serializable, es decir, implementar
ISerializable
y decorarse con el atributo[Serializable]
, y - debe implementar el (des) serializador constructor, es decir,
protected CustomException(SerializationInfo info, StreamingContext context)
.
Sin embargo, en una biblioteca de clases portátil, ni de SerializableAttribute
, ISerializable
y SerializationInfo
están soportados.
¿Cómo debo diseñar suficientemente una excepción personalizada en una biblioteca de clases portátil que se enfoque simultáneamente en .NET Framework y una o más plataformas?