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
- ExtendedProperty.cs
- SafeMILHandleMemoryPressure.cs
- CollectionTypeElement.cs
- ObjectViewEntityCollectionData.cs
- DataException.cs
- HtmlTableRowCollection.cs
- AppModelKnownContentFactory.cs
- ListControlActionList.cs
- Utility.cs
- Pens.cs
- ListViewPagedDataSource.cs
- UndoManager.cs
- ConnectionProviderAttribute.cs
- SqlClientFactory.cs
- PackagePartCollection.cs
- TimeoutHelper.cs
- SafeCertificateStore.cs
- TextTreeTextElementNode.cs
- XmlLoader.cs
- WebServiceFault.cs
- FolderLevelBuildProviderCollection.cs
- CorrelationExtension.cs
- XpsFilter.cs
- DBSqlParser.cs
- UIElementAutomationPeer.cs
- DbConnectionPoolGroup.cs
- UpdateCommandGenerator.cs
- Translator.cs
- WorkItem.cs
- PrincipalPermission.cs
- SHA384Managed.cs
- PhoneCallDesigner.cs
- PresentationTraceSources.cs
- UIAgentInitializationException.cs
- AtomServiceDocumentSerializer.cs
- CroppedBitmap.cs
- OleDbPropertySetGuid.cs
- HttpRequest.cs
- CacheRequest.cs
- BitmapEffectDrawingContextWalker.cs
- ProcessProtocolHandler.cs
- HtmlTableCell.cs
- DataGridViewTextBoxCell.cs
- SHA256.cs
- HtmlTableRow.cs
- RuntimeHandles.cs
- AbstractExpressions.cs
- TextBoxView.cs
- InvokeAction.cs
- FramingFormat.cs
- SqlCharStream.cs
- PerformanceCounterPermissionAttribute.cs
- BitmapEffect.cs
- CodeBlockBuilder.cs
- Helper.cs
- QilBinary.cs
- EdmTypeAttribute.cs
- ArrayTypeMismatchException.cs
- SafeHandles.cs
- XmlCharType.cs
- IInstanceTable.cs
- PropertyInformation.cs
- SqlCommand.cs
- SynchronizedInputPattern.cs
- BlockUIContainer.cs
- TextEncodedRawTextWriter.cs
- DataControlImageButton.cs
- FormsAuthentication.cs
- InternalResources.cs
- ClickablePoint.cs
- TrustLevel.cs
- UnmanagedMemoryStream.cs
- UpdateException.cs
- HostedTransportConfigurationManager.cs
- ExpressionValueEditor.cs
- ThreadStaticAttribute.cs
- CustomPopupPlacement.cs
- ToolStripSplitStackLayout.cs
- Console.cs
- LostFocusEventManager.cs
- BitmapEffectInput.cs
- MissingSatelliteAssemblyException.cs
- DynamicMetaObject.cs
- ProtocolsSection.cs
- StrongTypingException.cs
- DependencyPropertyConverter.cs
- Function.cs
- DataSourceDesigner.cs
- MultiSelectRootGridEntry.cs
- XhtmlConformanceSection.cs
- LiteralControl.cs
- FormsIdentity.cs
- BStrWrapper.cs
- SecUtil.cs
- XmlEventCache.cs
- TextWriterEngine.cs
- RtfToXamlReader.cs
- PackUriHelper.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- FixedTextBuilder.cs