Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- OleDbParameter.cs
- DataGridViewSelectedColumnCollection.cs
- SemanticBasicElement.cs
- SqlDataRecord.cs
- IndexedString.cs
- RoutedEventArgs.cs
- SqlServices.cs
- DataPointer.cs
- BinaryMethodMessage.cs
- WebConfigurationHostFileChange.cs
- ResXBuildProvider.cs
- ExponentialEase.cs
- VirtualizedContainerService.cs
- OptimalTextSource.cs
- Double.cs
- WebBrowserUriTypeConverter.cs
- InputScope.cs
- ImpersonateTokenRef.cs
- ResourcePart.cs
- SubMenuStyle.cs
- RawUIStateInputReport.cs
- ConfigurationElementCollection.cs
- RichTextBox.cs
- GridItem.cs
- CultureMapper.cs
- VectorKeyFrameCollection.cs
- DragDropHelper.cs
- SessionStateUtil.cs
- FixedSOMPage.cs
- TextTrailingWordEllipsis.cs
- EdmValidator.cs
- Vector3DCollectionValueSerializer.cs
- DataBinder.cs
- RoutedEventHandlerInfo.cs
- SqlCommandBuilder.cs
- ErrorStyle.cs
- TypeToArgumentTypeConverter.cs
- ContainerVisual.cs
- DataTableCollection.cs
- ProxyFragment.cs
- AlphaSortedEnumConverter.cs
- ErrorEventArgs.cs
- CodeArgumentReferenceExpression.cs
- DrawItemEvent.cs
- RepeaterCommandEventArgs.cs
- HijriCalendar.cs
- RepeatButtonAutomationPeer.cs
- SessionParameter.cs
- ReferenceTypeElement.cs
- ColorContext.cs
- Border.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- AuthorizationContext.cs
- EntityContainer.cs
- QuotedPrintableStream.cs
- CodeSnippetExpression.cs
- SapiAttributeParser.cs
- ExtendedTransformFactory.cs
- XsltConvert.cs
- RSACryptoServiceProvider.cs
- RoleServiceManager.cs
- StyleHelper.cs
- Win32Interop.cs
- CallbackValidatorAttribute.cs
- ComponentChangingEvent.cs
- Context.cs
- BitmapMetadata.cs
- Block.cs
- StandardOleMarshalObject.cs
- XmlWriterDelegator.cs
- FragmentQueryKB.cs
- DebugViewWriter.cs
- TreeView.cs
- PersonalizableAttribute.cs
- ClientRuntimeConfig.cs
- BrowserCapabilitiesFactoryBase.cs
- NativeMethods.cs
- codemethodreferenceexpression.cs
- MetadataFile.cs
- TypedDatasetGenerator.cs
- DoWorkEventArgs.cs
- HMACSHA256.cs
- ExceptionNotification.cs
- ImageBrush.cs
- WebException.cs
- QuaternionRotation3D.cs
- SimpleFieldTemplateFactory.cs
- InkPresenterAutomationPeer.cs
- CompoundFileIOPermission.cs
- BinaryNode.cs
- OdbcConnectionFactory.cs
- PassportPrincipal.cs
- Section.cs
- NullableLongMinMaxAggregationOperator.cs
- DictionaryBase.cs
- StickyNoteHelper.cs
- InstanceDescriptor.cs
- Image.cs
- ServiceDebugBehavior.cs
- RemoteWebConfigurationHostServer.cs