Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / ui / webcontrols / LinqDataSourceHelper.cs / 1 / LinqDataSourceHelper.cs
namespace System.Web.UI.WebControls { using System.Collections; using System.Collections.Generic; internal class LinqDataSourceHelper { public static bool EnumerableContentEquals(IEnumerable enumerableA, IEnumerable enumerableB) { IEnumerator enumeratorA = enumerableA.GetEnumerator(); IEnumerator enumeratorB = enumerableB.GetEnumerator(); while (enumeratorA.MoveNext()) { if (!enumeratorB.MoveNext()) return false; object itemA = enumeratorA.Current; object itemB = enumeratorB.Current; if (itemA == null) { if (itemB != null) return false; } else if (!itemA.Equals(itemB)) return false; } if (enumeratorB.MoveNext()) return false; return true; } public static Type FindGenericEnumerableType(Type type) { // Logic taken from Queryable.AsQueryable which accounts for Array types which are not // generic but implement the generic IEnumerable interface. while ((type != null) && (type != typeof(object)) && (type != typeof(string))) { if (type.IsGenericType && (type.GetGenericTypeDefinition() == typeof(IEnumerable<>))) { return type; } foreach (Type interfaceType in type.GetInterfaces()) { Type genericInterface = FindGenericEnumerableType(interfaceType); if (genericInterface != null) { return genericInterface; } } type = type.BaseType; } return null; } } } // 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
- EnumerableCollectionView.cs
- ScalarConstant.cs
- DataSourceControl.cs
- UnmanagedBitmapWrapper.cs
- AdvancedBindingEditor.cs
- TextDecorationUnitValidation.cs
- FirstMatchCodeGroup.cs
- CodeLabeledStatement.cs
- PrivateFontCollection.cs
- JournalEntryStack.cs
- ClientSettingsStore.cs
- TraceContext.cs
- Transactions.cs
- HtmlImage.cs
- SqlTopReducer.cs
- WindowsToolbar.cs
- ComPlusTypeLoader.cs
- TypeReference.cs
- StretchValidation.cs
- ClientScriptManagerWrapper.cs
- TextFormatter.cs
- VirtualPathProvider.cs
- InstanceLockException.cs
- XsdBuilder.cs
- SerializableAttribute.cs
- SHA512Managed.cs
- ClockController.cs
- cryptoapiTransform.cs
- SqlStatistics.cs
- ErrorActivity.cs
- ForceCopyBuildProvider.cs
- ICspAsymmetricAlgorithm.cs
- Application.cs
- clipboard.cs
- BackgroundWorker.cs
- Missing.cs
- SiteMapNode.cs
- InstanceView.cs
- ScriptReference.cs
- dataprotectionpermission.cs
- WebPartConnectionsCloseVerb.cs
- LinqDataSourceInsertEventArgs.cs
- MatchAllMessageFilter.cs
- WhitespaceSignificantCollectionAttribute.cs
- DrawingContextDrawingContextWalker.cs
- CompareValidator.cs
- CallbackValidatorAttribute.cs
- Expression.cs
- SendAgentStatusRequest.cs
- LockingPersistenceProvider.cs
- ElementsClipboardData.cs
- InkCanvasFeedbackAdorner.cs
- CompilationSection.cs
- TextOnlyOutput.cs
- SR.Designer.cs
- Privilege.cs
- BindingManagerDataErrorEventArgs.cs
- ManagedIStream.cs
- SafeProcessHandle.cs
- PlatformNotSupportedException.cs
- SecurityProtocolFactory.cs
- SyndicationFeedFormatter.cs
- HandlerFactoryWrapper.cs
- Proxy.cs
- TableItemPatternIdentifiers.cs
- TraceContextRecord.cs
- OrderedDictionary.cs
- XmlValueConverter.cs
- remotingproxy.cs
- EnumUnknown.cs
- AddInServer.cs
- HandleCollector.cs
- loginstatus.cs
- PrivateFontCollection.cs
- SerializerProvider.cs
- ImmutableObjectAttribute.cs
- BufferBuilder.cs
- DecoderFallbackWithFailureFlag.cs
- CombinedGeometry.cs
- PostBackOptions.cs
- hebrewshape.cs
- WebPartsPersonalizationAuthorization.cs
- Win32Native.cs
- StructuredTypeEmitter.cs
- FrameworkElement.cs
- CustomErrorCollection.cs
- CodeDomExtensionMethods.cs
- Help.cs
- ManagementException.cs
- IdentityReference.cs
- UnescapedXmlDiagnosticData.cs
- SafeNativeMethodsOther.cs
- BmpBitmapDecoder.cs
- HandlerBase.cs
- Privilege.cs
- TreeNodeStyle.cs
- NominalTypeEliminator.cs
- FormsAuthenticationEventArgs.cs
- Regex.cs
- FilterInvalidBodyAccessException.cs