Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataSet / System / Data / DataSetUtil.cs / 1 / DataSetUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System; using System.Data; using System.Data.DataSetExtensions; using System.Diagnostics; internal static class DataSetUtil { #region CheckArgument internal static void CheckArgumentNull(T argumentValue, string argumentName) where T : class { if (null == argumentValue) { throw ArgumentNull(argumentName); } } #endregion #region Trace private static T TraceException (string trace, T e) { Debug.Assert(null != e, "TraceException: null Exception"); if (null != e) { //Bid.Trace(trace, e.ToString()); // will include callstack if permission is available } return e; } private static T TraceExceptionAsReturnValue (T e) { return TraceException(" '%ls'\n", e); } #endregion #region new Exception internal static ArgumentException Argument(string message) { return TraceExceptionAsReturnValue(new ArgumentException(message)); } internal static ArgumentNullException ArgumentNull(string message) { return TraceExceptionAsReturnValue(new ArgumentNullException(message)); } internal static ArgumentOutOfRangeException ArgumentOutOfRange(string message, string parameterName) { return TraceExceptionAsReturnValue(new ArgumentOutOfRangeException(parameterName, message)); } internal static InvalidCastException InvalidCast(string message) { return TraceExceptionAsReturnValue(new InvalidCastException(message)); } internal static InvalidOperationException InvalidOperation(string message) { return TraceExceptionAsReturnValue(new InvalidOperationException(message)); } internal static NotSupportedException NotSupported(string message) { return TraceExceptionAsReturnValue(new NotSupportedException(message)); } #endregion #region new EnumerationValueNotValid static internal ArgumentOutOfRangeException InvalidEnumerationValue(Type type, int value) { return ArgumentOutOfRange(Strings.DataSetLinq_InvalidEnumerationValue(type.Name, value.ToString(System.Globalization.CultureInfo.InvariantCulture)), type.Name); } static internal ArgumentOutOfRangeException InvalidDataRowState(DataRowState value) { #if DEBUG switch (value) { case DataRowState.Detached: case DataRowState.Unchanged: case DataRowState.Added: case DataRowState.Deleted: case DataRowState.Modified: Debug.Assert(false, "valid DataRowState " + value.ToString()); break; } #endif return InvalidEnumerationValue(typeof(DataRowState), (int)value); } static internal ArgumentOutOfRangeException InvalidLoadOption(LoadOption value) { #if DEBUG switch (value) { case LoadOption.OverwriteChanges: case LoadOption.PreserveChanges: case LoadOption.Upsert: Debug.Assert(false, "valid LoadOption " + value.ToString()); break; } #endif return InvalidEnumerationValue(typeof(LoadOption), (int)value); } #endregion // only StackOverflowException & ThreadAbortException are sealed classes static private readonly Type StackOverflowType = typeof(System.StackOverflowException); static private readonly Type OutOfMemoryType = typeof(System.OutOfMemoryException); static private readonly Type ThreadAbortType = typeof(System.Threading.ThreadAbortException); static private readonly Type NullReferenceType = typeof(System.NullReferenceException); static private readonly Type AccessViolationType = typeof(System.AccessViolationException); static private readonly Type SecurityType = typeof(System.Security.SecurityException); static internal bool IsCatchableExceptionType(Exception e) { // a 'catchable' exception is defined by what it is not. Type type = e.GetType(); return ((type != StackOverflowType) && (type != OutOfMemoryType) && (type != ThreadAbortType) && (type != NullReferenceType) && (type != AccessViolationType) && !SecurityType.IsAssignableFrom(type)); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System; using System.Data; using System.Data.DataSetExtensions; using System.Diagnostics; internal static class DataSetUtil { #region CheckArgument internal static void CheckArgumentNull(T argumentValue, string argumentName) where T : class { if (null == argumentValue) { throw ArgumentNull(argumentName); } } #endregion #region Trace private static T TraceException (string trace, T e) { Debug.Assert(null != e, "TraceException: null Exception"); if (null != e) { //Bid.Trace(trace, e.ToString()); // will include callstack if permission is available } return e; } private static T TraceExceptionAsReturnValue (T e) { return TraceException(" '%ls'\n", e); } #endregion #region new Exception internal static ArgumentException Argument(string message) { return TraceExceptionAsReturnValue(new ArgumentException(message)); } internal static ArgumentNullException ArgumentNull(string message) { return TraceExceptionAsReturnValue(new ArgumentNullException(message)); } internal static ArgumentOutOfRangeException ArgumentOutOfRange(string message, string parameterName) { return TraceExceptionAsReturnValue(new ArgumentOutOfRangeException(parameterName, message)); } internal static InvalidCastException InvalidCast(string message) { return TraceExceptionAsReturnValue(new InvalidCastException(message)); } internal static InvalidOperationException InvalidOperation(string message) { return TraceExceptionAsReturnValue(new InvalidOperationException(message)); } internal static NotSupportedException NotSupported(string message) { return TraceExceptionAsReturnValue(new NotSupportedException(message)); } #endregion #region new EnumerationValueNotValid static internal ArgumentOutOfRangeException InvalidEnumerationValue(Type type, int value) { return ArgumentOutOfRange(Strings.DataSetLinq_InvalidEnumerationValue(type.Name, value.ToString(System.Globalization.CultureInfo.InvariantCulture)), type.Name); } static internal ArgumentOutOfRangeException InvalidDataRowState(DataRowState value) { #if DEBUG switch (value) { case DataRowState.Detached: case DataRowState.Unchanged: case DataRowState.Added: case DataRowState.Deleted: case DataRowState.Modified: Debug.Assert(false, "valid DataRowState " + value.ToString()); break; } #endif return InvalidEnumerationValue(typeof(DataRowState), (int)value); } static internal ArgumentOutOfRangeException InvalidLoadOption(LoadOption value) { #if DEBUG switch (value) { case LoadOption.OverwriteChanges: case LoadOption.PreserveChanges: case LoadOption.Upsert: Debug.Assert(false, "valid LoadOption " + value.ToString()); break; } #endif return InvalidEnumerationValue(typeof(LoadOption), (int)value); } #endregion // only StackOverflowException & ThreadAbortException are sealed classes static private readonly Type StackOverflowType = typeof(System.StackOverflowException); static private readonly Type OutOfMemoryType = typeof(System.OutOfMemoryException); static private readonly Type ThreadAbortType = typeof(System.Threading.ThreadAbortException); static private readonly Type NullReferenceType = typeof(System.NullReferenceException); static private readonly Type AccessViolationType = typeof(System.AccessViolationException); static private readonly Type SecurityType = typeof(System.Security.SecurityException); static internal bool IsCatchableExceptionType(Exception e) { // a 'catchable' exception is defined by what it is not. Type type = e.GetType(); return ((type != StackOverflowType) && (type != OutOfMemoryType) && (type != ThreadAbortType) && (type != NullReferenceType) && (type != AccessViolationType) && !SecurityType.IsAssignableFrom(type)); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CmsUtils.cs
- SingleStorage.cs
- GeneralTransform3DCollection.cs
- DataGridRow.cs
- XmlRootAttribute.cs
- EventProviderWriter.cs
- DataGridViewEditingControlShowingEventArgs.cs
- UpdateEventArgs.cs
- DataKey.cs
- UncommonField.cs
- RtfToXamlLexer.cs
- MailDefinition.cs
- MailSettingsSection.cs
- DataControlFieldCell.cs
- WindowsStatic.cs
- HScrollProperties.cs
- ListViewItem.cs
- Expression.cs
- StateManagedCollection.cs
- RuntimeCompatibilityAttribute.cs
- CompilerTypeWithParams.cs
- UIElement3DAutomationPeer.cs
- StateItem.cs
- AffineTransform3D.cs
- Geometry3D.cs
- SourceItem.cs
- DataColumnPropertyDescriptor.cs
- RootBrowserWindowProxy.cs
- SqlInternalConnectionSmi.cs
- SingleKeyFrameCollection.cs
- ChildrenQuery.cs
- XmlAttributeOverrides.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- Crc32Helper.cs
- MSG.cs
- XmlArrayAttribute.cs
- GeometryHitTestParameters.cs
- MimeXmlImporter.cs
- Unit.cs
- ImageDrawing.cs
- ColorPalette.cs
- KeyFrames.cs
- SemanticTag.cs
- ChangesetResponse.cs
- SafeNativeMethods.cs
- ScrollChrome.cs
- ReadOnlyDictionary.cs
- HttpCookieCollection.cs
- LinkLabel.cs
- FileDialogCustomPlacesCollection.cs
- PageAdapter.cs
- GlyphRunDrawing.cs
- OperationFormatUse.cs
- TabPageDesigner.cs
- QEncodedStream.cs
- TextTreeInsertElementUndoUnit.cs
- XmlEntityReference.cs
- SafeReversePInvokeHandle.cs
- DataContractSet.cs
- SiteOfOriginContainer.cs
- DependencyObjectType.cs
- URL.cs
- ClientScriptItemCollection.cs
- TransactionWaitAsyncResult.cs
- MultiAsyncResult.cs
- SHA1CryptoServiceProvider.cs
- MatchNoneMessageFilter.cs
- PropertyBuilder.cs
- ImageDrawing.cs
- WebDescriptionAttribute.cs
- UnmanagedMarshal.cs
- Separator.cs
- TreeNodeMouseHoverEvent.cs
- PeerNameResolver.cs
- DataGridViewAutoSizeModeEventArgs.cs
- IntegerCollectionEditor.cs
- UnsafeNativeMethods.cs
- FileDetails.cs
- SoapAttributeOverrides.cs
- SizeFConverter.cs
- TagPrefixInfo.cs
- WebCategoryAttribute.cs
- IntPtr.cs
- DocumentGridContextMenu.cs
- BookmarkInfo.cs
- SystemResources.cs
- TemplatedMailWebEventProvider.cs
- XamlSerializer.cs
- MissingManifestResourceException.cs
- DataGridViewCellStyleChangedEventArgs.cs
- TextPointerBase.cs
- DocumentGridContextMenu.cs
- ObjectListCommandsPage.cs
- SqlUtils.cs
- XmlEntity.cs
- WebPartAddingEventArgs.cs
- TemplateModeChangedEventArgs.cs
- DataBoundControlActionList.cs
- XXXOnTypeBuilderInstantiation.cs
- TextServicesCompartment.cs