[OptionalField] y [NonSerialized] me encontré con esta pregunta en transcender:¿Cuál es la diferencia entre el
Lo que debe aplicarse a un campo si no se requiere su valor durante la deserialización?
Me = [NonSerialized], RESPUESTA =
Mi reacción [OptionalField] intestino fue NonSerialised pero Transcender dice que estoy equivocado. Tengo una buena idea de qué buscar en lo que se refiere al atributo [Nonseralized], pero aún así me gustaría que quede aclarado.
Por lo que puedo decir, el primero tiene una relación con conflictos de versiones entre versiones más nuevas y más antiguas del mismo ensamblaje. Este último está más preocupado por no serializar un campo FULLSTOP. ¿Hay algo más que pueda separar estos dos? MSDN realmente no dice mucho sobre esto ya que ambos se usan en BinaryFormatters y SoapFormatter con XMLFormatter usando XMLIgnoreAttribute.
Mi segunda pregunta es ¿puedes mezclar y combinar cualquiera de los dos atributos? Todavía tengo que usarlos.
Solo lanzando esta, ¿pero tiene algo que ver mi respuesta con la forma en que se implementa [OnDeserialized] y la interfaz IdeserilizationCallback?
ACTUALIZACIÓN:
Sé que atributo de campo opcional no serializa el valor en poder de un miembro de datos, sino que ni siquiera se NonSerialized serialized miembro de datos o su valor.
Para completar: para cualquier cosa que implique almacenamiento (es decir, donde el control de versiones se convierte en un problema), 'BinaryFormatter' puede no ser una buena opción.Veo * muchas * personas con problemas al ir por esta ruta. –
Gracias Marc, estoy al tanto de este problema, pero solo necesito obtener una buena comprensión de estos dos atributos en lo que respecta al examen 70-536. – IbrarMumtaz