Exemplo n.º 1
0
        internal CompositionException(string message, Exception innerException, IEnumerable <CompositionError> errors)
            : base(message, innerException)
        {
            Requires.NullOrNotNullElements(errors, "errors");
#if CLR40 && !SILVERLIGHT
            SerializeObjectState += delegate(object exception, SafeSerializationEventArgs eventArgs)
            {
                var data = new CompositionExceptionData();
                if (this._errors != null)
                {
                    data._errors = this._errors.Select(error => new CompositionError(
                                                           error.Id,
                                                           error.Description,
                                                           error.Element.ToSerializableElement(),
                                                           error.Exception)).ToArray();
                }
                else
                {
                    data._errors = new CompositionError[0];
                }

                eventArgs.AddSerializedState(data);
            };
#endif
            _errors = new ReadOnlyCollection <CompositionError>(errors == null ? new CompositionError[0] : errors.ToArray <CompositionError>());
        }
        internal CompositionException(string message, Exception innerException, IEnumerable<CompositionError> errors)
            : base(message, innerException)
        {
            Requires.NullOrNotNullElements(errors, "errors");
#if CLR40 && !SILVERLIGHT
            SerializeObjectState += delegate(object exception, SafeSerializationEventArgs eventArgs)
            {
                var data = new CompositionExceptionData();
                if(this._errors != null)
                {
                    data._errors = this._errors.Select(error => new CompositionError(
                        ((ICompositionError)error).Id, 
                        error.Description,
                        error.Element.ToSerializableElement(),
                        error.Exception)).ToArray();
                }
                else
                {
                    data._errors = new CompositionError[0];
                }

                eventArgs.AddSerializedState(data);
            };
#endif
            _errors = new ReadOnlyCollection<CompositionError>(errors == null ? new CompositionError[0] : errors.ToArray<CompositionError>());
        }