Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- __ComObject.cs
- NegationPusher.cs
- VectorValueSerializer.cs
- QilChoice.cs
- TraceHandlerErrorFormatter.cs
- DbSetClause.cs
- WriteableBitmap.cs
- SqlPersonalizationProvider.cs
- PropertyPathConverter.cs
- ContentType.cs
- LoginNameDesigner.cs
- BufferBuilder.cs
- LinkTarget.cs
- PersonalizationDictionary.cs
- WebException.cs
- HtmlInputReset.cs
- DataStreamFromComStream.cs
- StrongNameIdentityPermission.cs
- DataContractJsonSerializer.cs
- Interlocked.cs
- UnsafeNativeMethodsCLR.cs
- TextProperties.cs
- InputElement.cs
- TraceListener.cs
- ExceptionValidationRule.cs
- UIntPtr.cs
- ToolStripDropTargetManager.cs
- FontFaceLayoutInfo.cs
- CharacterBuffer.cs
- ListSourceHelper.cs
- Parser.cs
- AttributeUsageAttribute.cs
- CommandBinding.cs
- GeneralTransform2DTo3DTo2D.cs
- PointCollectionValueSerializer.cs
- TextTreeTextElementNode.cs
- OdbcDataReader.cs
- NumberFunctions.cs
- Button.cs
- FormsAuthenticationCredentials.cs
- SchemaNotation.cs
- WsdlWriter.cs
- DebugTrace.cs
- CharacterString.cs
- ConfigXmlCDataSection.cs
- Int32EqualityComparer.cs
- CompositeDispatchFormatter.cs
- ColumnTypeConverter.cs
- DataGridRelationshipRow.cs
- RightsManagementProvider.cs
- MenuBindingsEditorForm.cs
- TypeUtils.cs
- MinMaxParagraphWidth.cs
- MenuItemBindingCollection.cs
- SkinIDTypeConverter.cs
- ScriptBehaviorDescriptor.cs
- DataControlField.cs
- SqlNotificationRequest.cs
- ToolStripManager.cs
- ServicePointManagerElement.cs
- UnsafeNativeMethods.cs
- DataBoundLiteralControl.cs
- WindowsToolbarAsMenu.cs
- DirectoryInfo.cs
- PermissionSet.cs
- CodeCommentStatement.cs
- SimpleApplicationHost.cs
- SqlCommandSet.cs
- GenericAuthenticationEventArgs.cs
- HyperLinkStyle.cs
- ImageBrush.cs
- GenericAuthenticationEventArgs.cs
- WsrmTraceRecord.cs
- CachedFontFamily.cs
- XmlEntity.cs
- PenLineCapValidation.cs
- ObjectStateFormatter.cs
- ControlCollection.cs
- CacheMemory.cs
- EditingCommands.cs
- StyleBamlRecordReader.cs
- CacheModeValueSerializer.cs
- ParameterElement.cs
- SchemaElementLookUpTable.cs
- LocationInfo.cs
- QilXmlReader.cs
- SafeRegistryHandle.cs
- LambdaCompiler.ControlFlow.cs
- EncryptedPackageFilter.cs
- SqlCharStream.cs
- ValueSerializer.cs
- Stack.cs
- DecoderNLS.cs
- SpeechSeg.cs
- MarkerProperties.cs
- IndexOutOfRangeException.cs
- DesignBindingConverter.cs
- ReflectionHelper.cs
- _BasicClient.cs
- ClientRuntimeConfig.cs