Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Runtime / InteropServices / ArrayWithOffset.cs / 1 / ArrayWithOffset.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== namespace System.Runtime.InteropServices { using System; using System.Runtime.CompilerServices; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public struct ArrayWithOffset { //private ArrayWithOffset() //{ // throw new Exception(); //} public ArrayWithOffset(Object array, int offset) { m_array = array; m_offset = offset; m_count = 0; m_count = CalculateCount(); } public Object GetArray() { return m_array; } public int GetOffset() { return m_offset; } public override int GetHashCode() { return m_count + m_offset; } public override bool Equals(Object obj) { if (obj is ArrayWithOffset) return Equals((ArrayWithOffset)obj); else return false; } public bool Equals(ArrayWithOffset obj) { return obj.m_array == m_array && obj.m_offset == m_offset && obj.m_count == m_count; } public static bool operator ==(ArrayWithOffset a, ArrayWithOffset b) { return a.Equals(b); } public static bool operator !=(ArrayWithOffset a, ArrayWithOffset b) { return !(a == b); } [MethodImplAttribute(MethodImplOptions.InternalCall)] private extern int CalculateCount(); private Object m_array; private int m_offset; private int m_count; } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextWriter.cs
- EntityDataSourceStatementEditorForm.cs
- ListMarkerSourceInfo.cs
- SafeNativeMethods.cs
- MailWebEventProvider.cs
- TextModifierScope.cs
- ColorMatrix.cs
- EventPropertyMap.cs
- FeatureManager.cs
- RuntimeTransactionHandle.cs
- Clause.cs
- ValueProviderWrapper.cs
- PeerApplication.cs
- EntitySqlQueryCacheKey.cs
- BaseResourcesBuildProvider.cs
- NavigationProgressEventArgs.cs
- BaseDataListDesigner.cs
- Deflater.cs
- CustomAttribute.cs
- ToolStripContainerDesigner.cs
- TextureBrush.cs
- GridViewDeleteEventArgs.cs
- DataGridViewCellPaintingEventArgs.cs
- SQLByte.cs
- XMLSchema.cs
- UIAgentCrashedException.cs
- PersonalizationState.cs
- EdmMember.cs
- Bind.cs
- IndexedEnumerable.cs
- SymmetricAlgorithm.cs
- StrongNameMembershipCondition.cs
- GridLength.cs
- DataServiceBuildProvider.cs
- SqlBulkCopyColumnMapping.cs
- BrushValueSerializer.cs
- RuleSet.cs
- DataRowCollection.cs
- StylusDevice.cs
- SynchronizingStream.cs
- EdmEntityTypeAttribute.cs
- LoadedEvent.cs
- DispatcherOperation.cs
- HttpRuntimeSection.cs
- DelegatingMessage.cs
- CalendarTable.cs
- WsdlHelpGeneratorElement.cs
- XmlNullResolver.cs
- QueueProcessor.cs
- ImageButton.cs
- ProgressPage.cs
- RuleSettings.cs
- OracleParameterCollection.cs
- RenderContext.cs
- StsCommunicationException.cs
- MiniConstructorInfo.cs
- XmlMemberMapping.cs
- PointAnimationUsingPath.cs
- WsatProxy.cs
- XmlSchemaSimpleContent.cs
- CompatibleIComparer.cs
- IMembershipProvider.cs
- InheritanceUI.cs
- TemplateComponentConnector.cs
- EntityDataSourceSelectingEventArgs.cs
- IsolatedStorageFile.cs
- HttpApplicationFactory.cs
- InkCanvasSelectionAdorner.cs
- Currency.cs
- AssemblyNameProxy.cs
- TraceContextRecord.cs
- LogWriteRestartAreaState.cs
- MasterPage.cs
- UIEndRequest.cs
- BufferAllocator.cs
- MouseDevice.cs
- WebPartEventArgs.cs
- MatchingStyle.cs
- SystemEvents.cs
- QueueAccessMode.cs
- OdbcUtils.cs
- ExtensionWindowResizeGrip.cs
- HScrollBar.cs
- DbConnectionPoolGroup.cs
- DictionarySectionHandler.cs
- UrlAuthorizationModule.cs
- BitmapCache.cs
- WindowsBrush.cs
- SEHException.cs
- SvcMapFileLoader.cs
- SafeCryptHandles.cs
- SymLanguageVendor.cs
- TemplateBuilder.cs
- CompilerHelpers.cs
- FlowchartDesigner.Helpers.cs
- Ray3DHitTestResult.cs
- GeneralTransform3DGroup.cs
- UserControlBuildProvider.cs
- ClientSettings.cs
- OrderedDictionaryStateHelper.cs