Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / schema / XmlSchemaException.cs / 1 / XmlSchemaException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Schema { using System; using System.IO; using System.Text; using System.Resources; using System.Runtime.Serialization; using System.Globalization; using System.Diagnostics; using System.Security.Permissions; ///[Serializable] public class XmlSchemaException : SystemException { string res; string[] args; string sourceUri; int lineNumber; int linePosition; [NonSerialized] XmlSchemaObject sourceSchemaObject; // message != null for V1 exceptions deserialized in Whidbey // message == null for V2 or higher exceptions; the exception message is stored on the base class (Exception._message) string message; /// protected XmlSchemaException(SerializationInfo info, StreamingContext context) : base(info, context) { res = (string) info.GetValue("res" , typeof(string)); args = (string[]) info.GetValue("args", typeof(string[])); sourceUri = (string) info.GetValue("sourceUri", typeof(string)); lineNumber = (int) info.GetValue("lineNumber", typeof(int)); linePosition = (int) info.GetValue("linePosition", typeof(int)); // deserialize optional members string version = null; foreach ( SerializationEntry e in info ) { if ( e.Name == "version" ) { version = (string)e.Value; } } if ( version == null ) { // deserializing V1 exception message = CreateMessage( res, args ); } else { // deserializing V2 or higher exception -> exception message is serialized by the base class (Exception._message) message = null; } } /// [SecurityPermissionAttribute(SecurityAction.Demand,SerializationFormatter=true)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); info.AddValue("res", res); info.AddValue("args", args); info.AddValue("sourceUri", sourceUri); info.AddValue("lineNumber", lineNumber); info.AddValue("linePosition", linePosition); info.AddValue("version", "2.0"); } /// public XmlSchemaException() : this(null) { } /// public XmlSchemaException(String message) : this (message, ((Exception)null), 0, 0) { #if DEBUG Debug.Assert(message == null || !message.StartsWith("Sch_", StringComparison.Ordinal), "Do not pass a resource here!"); #endif } /// public XmlSchemaException(String message, Exception innerException) : this (message, innerException, 0, 0) { } /// public XmlSchemaException(String message, Exception innerException, int lineNumber, int linePosition) : this((message == null ? Res.Sch_DefaultException : Res.Xml_UserException), new string[] { message }, innerException, null, lineNumber, linePosition, null ) { } internal XmlSchemaException(string res, string[] args) : this(res, args, null, null, 0, 0, null) {} internal XmlSchemaException(string res, string arg) : this(res, new string[] { arg }, null, null, 0, 0, null) {} internal XmlSchemaException(string res, string arg, string sourceUri, int lineNumber, int linePosition) : this(res, new string[] { arg }, null, sourceUri, lineNumber, linePosition, null) {} internal XmlSchemaException(string res, string sourceUri, int lineNumber, int linePosition) : this(res, (string[])null, null, sourceUri, lineNumber, linePosition, null) {} internal XmlSchemaException(string res, string[] args, string sourceUri, int lineNumber, int linePosition) : this(res, args, null, sourceUri, lineNumber, linePosition, null) {} internal XmlSchemaException(string res, XmlSchemaObject source) : this(res, (string[])null, source) {} internal XmlSchemaException(string res, string arg, XmlSchemaObject source) : this(res, new string[] { arg }, source) {} internal XmlSchemaException(string res, string[] args, XmlSchemaObject source) : this(res, args, null, source.SourceUri, source.LineNumber, source.LinePosition, source) {} internal XmlSchemaException(string res, string[] args, Exception innerException, string sourceUri, int lineNumber, int linePosition, XmlSchemaObject source) : base (CreateMessage(res, args), innerException) { HResult = HResults.XmlSchema; this.res = res; this.args = args; this.sourceUri = sourceUri; this.lineNumber = lineNumber; this.linePosition = linePosition; this.sourceSchemaObject = source; } internal static string CreateMessage(string res, string[] args) { try { return Res.GetString(res, args); } catch ( MissingManifestResourceException ) { return "UNKNOWN("+res+")"; } } internal string GetRes { get { return res; } } internal string[] Args { get { return args; } } /// public string SourceUri { get { return this.sourceUri; } } /// public int LineNumber { get { return this.lineNumber; } } /// public int LinePosition { get { return this.linePosition; } } /// public XmlSchemaObject SourceSchemaObject { get { return this.sourceSchemaObject; } } /*internal static XmlSchemaException Create(string res) { //Since internal overload with res string will clash with public constructor that takes in a message return new XmlSchemaException(res, (string[])null, null, null, 0, 0, null); }*/ internal void SetSource(string sourceUri, int lineNumber, int linePosition) { this.sourceUri = sourceUri; this.lineNumber = lineNumber; this.linePosition = linePosition; } internal void SetSchemaObject(XmlSchemaObject source) { this.sourceSchemaObject = source; } internal void SetSource(XmlSchemaObject source) { this.sourceSchemaObject = source; this.sourceUri = source.SourceUri; this.lineNumber = source.LineNumber; this.linePosition = source.LinePosition; } internal void SetResourceId(string resourceId) { this.res = resourceId; } public override string Message { get { return (message == null) ? base.Message : message; } } }; } // namespace System.Xml.Schema // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HashHelper.cs
- ConnectivityStatus.cs
- BufferedMessageData.cs
- PrintControllerWithStatusDialog.cs
- CodeSnippetTypeMember.cs
- ButtonBase.cs
- ListComponentEditorPage.cs
- EntitySqlQueryCacheKey.cs
- LookupNode.cs
- IListConverters.cs
- XmlReflectionImporter.cs
- ToolStripItemImageRenderEventArgs.cs
- RotateTransform3D.cs
- SiteMap.cs
- TranslateTransform3D.cs
- XmlArrayAttribute.cs
- HierarchicalDataSourceControl.cs
- SmtpNetworkElement.cs
- WindowsFormsSectionHandler.cs
- CurrentChangedEventManager.cs
- TextModifier.cs
- ThreadStateException.cs
- ConfigurationStrings.cs
- StreamWriter.cs
- RegistrySecurity.cs
- XmlSerializationGeneratedCode.cs
- FlowNode.cs
- PackWebRequest.cs
- _StreamFramer.cs
- XhtmlCssHandler.cs
- VBIdentifierTrimConverter.cs
- ParseHttpDate.cs
- WebHostedComPlusServiceHost.cs
- ThemeableAttribute.cs
- SelectionPattern.cs
- OdbcReferenceCollection.cs
- CDSCollectionETWBCLProvider.cs
- RectKeyFrameCollection.cs
- SafeNativeMemoryHandle.cs
- IgnoreDeviceFilterElement.cs
- XmlHierarchicalDataSourceView.cs
- ToggleButtonAutomationPeer.cs
- PathFigureCollection.cs
- ExtendedPropertyInfo.cs
- Point3DAnimation.cs
- AccessorTable.cs
- PerformanceCounterLib.cs
- ParserStreamGeometryContext.cs
- TabControlCancelEvent.cs
- TransactionManager.cs
- BuildManagerHost.cs
- ComponentChangedEvent.cs
- ComPlusDiagnosticTraceRecords.cs
- DeferredTextReference.cs
- SqlConnectionManager.cs
- RightsManagementUser.cs
- BuilderPropertyEntry.cs
- RequiredFieldValidator.cs
- SystemUnicastIPAddressInformation.cs
- TypedReference.cs
- WaveHeader.cs
- NonSerializedAttribute.cs
- ResourceReferenceExpression.cs
- XmlSchemaIdentityConstraint.cs
- SemanticBasicElement.cs
- Brush.cs
- OleDbConnectionInternal.cs
- BrowserCapabilitiesFactory35.cs
- XmlAutoDetectWriter.cs
- GraphicsState.cs
- XPSSignatureDefinition.cs
- TraceContext.cs
- RSACryptoServiceProvider.cs
- SystemWebCachingSectionGroup.cs
- FixedSOMContainer.cs
- FilteredAttributeCollection.cs
- ProviderConnectionPointCollection.cs
- IdnMapping.cs
- ValidationService.cs
- MetafileHeaderWmf.cs
- StorageModelBuildProvider.cs
- assemblycache.cs
- CallId.cs
- WindowsListViewItem.cs
- TextSelection.cs
- OdbcTransaction.cs
- XmlUrlResolver.cs
- HttpConfigurationSystem.cs
- RuleValidation.cs
- CategoryNameCollection.cs
- Guid.cs
- ProfilePropertySettings.cs
- Throw.cs
- LocatorPartList.cs
- LinqDataSourceHelper.cs
- TaskScheduler.cs
- StreamWriter.cs
- PropertyPath.cs
- SuppressMessageAttribute.cs
- ImpersonationContext.cs