Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- UriTemplateTableMatchCandidate.cs
- CodeMemberField.cs
- SqlRowUpdatedEvent.cs
- TokenBasedSet.cs
- ColumnBinding.cs
- RequestCacheEntry.cs
- querybuilder.cs
- webproxy.cs
- CompressEmulationStream.cs
- AdornedElementPlaceholder.cs
- PhoneCall.cs
- ClosableStream.cs
- RealProxy.cs
- PointValueSerializer.cs
- CTreeGenerator.cs
- ControlIdConverter.cs
- TreeChangeInfo.cs
- ExpressionWriter.cs
- CompositeTypefaceMetrics.cs
- PrintEvent.cs
- ContextInformation.cs
- _UriTypeConverter.cs
- SubqueryRules.cs
- XmlSchemaElement.cs
- BehaviorEditorPart.cs
- PrePrepareMethodAttribute.cs
- ContractMapping.cs
- FontFamilyValueSerializer.cs
- EventLogException.cs
- WriteFileContext.cs
- DesignerDataTableBase.cs
- CellTreeSimplifier.cs
- ProfileInfo.cs
- TemplateControl.cs
- MailSettingsSection.cs
- XmlSchemaNotation.cs
- RangeBase.cs
- NamedPermissionSet.cs
- XPathMessageFilterElementCollection.cs
- ColumnHeader.cs
- Base64Stream.cs
- XmlWrappingReader.cs
- IpcPort.cs
- AsyncPostBackTrigger.cs
- TextProperties.cs
- FamilyCollection.cs
- BitmapSizeOptions.cs
- Utilities.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ViewValidator.cs
- ScrollPatternIdentifiers.cs
- SurrogateSelector.cs
- DataServiceResponse.cs
- ReaderWriterLockSlim.cs
- TreeNodeStyle.cs
- CallbackWrapper.cs
- WmlValidatorAdapter.cs
- AvTraceDetails.cs
- QueryAsyncResult.cs
- LocationReference.cs
- TransformerInfo.cs
- ValidationEventArgs.cs
- EventWaitHandle.cs
- XmlSignificantWhitespace.cs
- AspProxy.cs
- DataControlButton.cs
- StructuredTypeEmitter.cs
- XmlSerializerFactory.cs
- XmlHierarchyData.cs
- SerializationAttributes.cs
- XamlSerializer.cs
- ReferenceEqualityComparer.cs
- ExpressionBindingCollection.cs
- ApplyHostConfigurationBehavior.cs
- ConnectionStringsExpressionBuilder.cs
- PropertyInfoSet.cs
- InkCanvas.cs
- UnsafeNativeMethods.cs
- Vector3dCollection.cs
- XPathArrayIterator.cs
- HierarchicalDataSourceControl.cs
- ExpressionBuilder.cs
- StylusDownEventArgs.cs
- CfgRule.cs
- SystemNetHelpers.cs
- ChannelEndpointElement.cs
- EndOfStreamException.cs
- MD5.cs
- AlignmentYValidation.cs
- DbDataReader.cs
- TripleDES.cs
- TextDpi.cs
- OpCopier.cs
- ProfileGroupSettings.cs
- ToolStripComboBox.cs
- DataConnectionHelper.cs
- SqlUserDefinedTypeAttribute.cs
- GregorianCalendar.cs
- HostedHttpContext.cs
- VariantWrapper.cs