Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // 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; } } // 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
- ToolStripButton.cs
- DataKey.cs
- PasswordDeriveBytes.cs
- InstanceData.cs
- ListDataHelper.cs
- CircleHotSpot.cs
- MappingException.cs
- WebBaseEventKeyComparer.cs
- ObjectDataSourceStatusEventArgs.cs
- DynamicFilterExpression.cs
- BackStopAuthenticationModule.cs
- DateTimeAutomationPeer.cs
- Style.cs
- Pointer.cs
- PlanCompilerUtil.cs
- Color.cs
- SettingsSavedEventArgs.cs
- TagPrefixInfo.cs
- WebBrowserNavigatedEventHandler.cs
- XmlCDATASection.cs
- LineServicesRun.cs
- DeferredElementTreeState.cs
- GridViewItemAutomationPeer.cs
- ColumnWidthChangedEvent.cs
- ClientData.cs
- BufferedStream.cs
- RegexTree.cs
- SuppressMergeCheckAttribute.cs
- StateMachineAction.cs
- pingexception.cs
- ExtendedPropertyCollection.cs
- IriParsingElement.cs
- CompilationPass2TaskInternal.cs
- ConfigXmlSignificantWhitespace.cs
- SystemSounds.cs
- StrongNameMembershipCondition.cs
- InertiaTranslationBehavior.cs
- ModuleConfigurationInfo.cs
- IItemProperties.cs
- ContentControl.cs
- UriScheme.cs
- FacetChecker.cs
- ApplicationId.cs
- WasHttpModulesInstallComponent.cs
- XsltException.cs
- ErrorFormatterPage.cs
- NamedPermissionSet.cs
- HostedHttpContext.cs
- MultiTouchSystemGestureLogic.cs
- DaylightTime.cs
- Message.cs
- TrueReadOnlyCollection.cs
- RadioButtonBaseAdapter.cs
- Vector3DAnimationBase.cs
- SystemFonts.cs
- NetworkAddressChange.cs
- RuleSettings.cs
- PagesChangedEventArgs.cs
- StylusPointPropertyId.cs
- TextBoxDesigner.cs
- precedingquery.cs
- remotingproxy.cs
- ServiceManager.cs
- DataTableClearEvent.cs
- ScrollBar.cs
- MimeObjectFactory.cs
- HttpDebugHandler.cs
- X509CertificateRecipientClientCredential.cs
- ListViewItemSelectionChangedEvent.cs
- PersistenceTypeAttribute.cs
- EmptyEnumerator.cs
- SlotInfo.cs
- XDRSchema.cs
- WorkItem.cs
- TextHintingModeValidation.cs
- PipelineModuleStepContainer.cs
- XmlEnumAttribute.cs
- MaterializeFromAtom.cs
- FormatPage.cs
- SafePointer.cs
- FormViewPagerRow.cs
- SafeHandles.cs
- WindowsSecurityToken.cs
- WebPartZoneCollection.cs
- SystemColors.cs
- Gdiplus.cs
- UserInitiatedNavigationPermission.cs
- AsyncContentLoadedEventArgs.cs
- SmiEventSink_Default.cs
- ThaiBuddhistCalendar.cs
- CursorInteropHelper.cs
- CollectionViewGroupRoot.cs
- OciEnlistContext.cs
- List.cs
- ActivityValidator.cs
- printdlgexmarshaler.cs
- EmptyReadOnlyDictionaryInternal.cs
- XmlSchemaAnnotated.cs
- UpdateRecord.cs
- UniqueConstraint.cs