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
- PseudoWebRequest.cs
- PropertyGridView.cs
- RadioButtonList.cs
- KnownTypeDataContractResolver.cs
- WinInet.cs
- EntityDataSourceConfigureObjectContext.cs
- LOSFormatter.cs
- XmlSchemaRedefine.cs
- HMACSHA384.cs
- Calendar.cs
- DataPagerFieldCommandEventArgs.cs
- VirtualDirectoryMappingCollection.cs
- MetadataExchangeBindings.cs
- DetailsViewPagerRow.cs
- MatrixTransform3D.cs
- BaseResourcesBuildProvider.cs
- _Connection.cs
- Console.cs
- HtmlFormWrapper.cs
- Timeline.cs
- GeneralTransform2DTo3DTo2D.cs
- SelectionPatternIdentifiers.cs
- Bold.cs
- PageCatalogPart.cs
- UpdateManifestForBrowserApplication.cs
- ValidationHelper.cs
- ObjectViewFactory.cs
- WebHttpEndpoint.cs
- WindowsAuthenticationModule.cs
- SequenceNumber.cs
- XmlMemberMapping.cs
- ResourceReferenceKeyNotFoundException.cs
- CodeMemberEvent.cs
- ConstructorBuilder.cs
- GPRECT.cs
- Unit.cs
- KeysConverter.cs
- TextRangeEditLists.cs
- SystemWebExtensionsSectionGroup.cs
- ContractHandle.cs
- BinaryNode.cs
- ProcessThread.cs
- Mapping.cs
- ElementMarkupObject.cs
- LifetimeServices.cs
- DocumentXPathNavigator.cs
- StandardBindingOptionalReliableSessionElement.cs
- MultiPropertyDescriptorGridEntry.cs
- Evaluator.cs
- TabItemAutomationPeer.cs
- FormsAuthenticationConfiguration.cs
- CodeActivityMetadata.cs
- ChangeTracker.cs
- ByteRangeDownloader.cs
- AddInBase.cs
- SortFieldComparer.cs
- Utils.cs
- WebPartConnectionsCancelVerb.cs
- RemotingAttributes.cs
- Base64Encoder.cs
- AccessibilityHelperForXpWin2k3.cs
- TextUtf8RawTextWriter.cs
- LinqToSqlWrapper.cs
- ByteRangeDownloader.cs
- MimeParameter.cs
- OptionalMessageQuery.cs
- StringConverter.cs
- DataTableCollection.cs
- AnimationStorage.cs
- DataGridHeaderBorder.cs
- GridLength.cs
- HorizontalAlignConverter.cs
- ServicePointManager.cs
- SymmetricAlgorithm.cs
- GreenMethods.cs
- ModuleConfigurationInfo.cs
- ResXResourceReader.cs
- TargetException.cs
- DataColumnPropertyDescriptor.cs
- ToolStripContentPanelRenderEventArgs.cs
- KeySplineConverter.cs
- EventLogReader.cs
- EntityDataSourceQueryBuilder.cs
- QilGenerator.cs
- HighlightComponent.cs
- XmlChildEnumerator.cs
- DesignerOptionService.cs
- XmlDesigner.cs
- DaylightTime.cs
- ForEachDesigner.xaml.cs
- HMACSHA512.cs
- QueryAccessibilityHelpEvent.cs
- MultipartContentParser.cs
- SourceSwitch.cs
- GAC.cs
- XPathDocument.cs
- PrincipalPermission.cs
- ImpersonationContext.cs
- ContextStack.cs
- WsatTransactionHeader.cs