public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
if (info == null)
{
throw new ArgumentNullException("info");
}
base.GetObjectData(info, context);
info.AddValue("ErrorCode", _errorCode);
info.AddValue("ErrorWCode", _errorWCode);
info.AddValue("SourceContext", _sourceContext);
info.AddValue("Subcategory", _subcategory);
info.AddValue("LineNumber", _lineNumber);
info.AddValue("ColumnNumber", _columnNumber);
info.AddValue("SourceError", _sourceError);
}