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
- MethodBody.cs
- RegistryDataKey.cs
- ViewStateException.cs
- PathTooLongException.cs
- loginstatus.cs
- AccessDataSourceView.cs
- ToolStripRenderer.cs
- RectangleGeometry.cs
- PageSettings.cs
- Variable.cs
- Brush.cs
- TripleDESCryptoServiceProvider.cs
- BindingContext.cs
- RoutingEndpointTrait.cs
- ExpandableObjectConverter.cs
- ServiceDescriptionSerializer.cs
- Bidi.cs
- HTMLTagNameToTypeMapper.cs
- _SecureChannel.cs
- PeerHelpers.cs
- XmlToDatasetMap.cs
- UnionExpr.cs
- Transactions.cs
- EUCJPEncoding.cs
- ListViewSortEventArgs.cs
- CancellationState.cs
- UInt32.cs
- CodeStatementCollection.cs
- PathSegment.cs
- SingleConverter.cs
- ConfigurationValidatorBase.cs
- ByteStreamMessageEncoderFactory.cs
- EmbeddedMailObjectsCollection.cs
- StreamReader.cs
- Pair.cs
- MailAddressCollection.cs
- IdentifierService.cs
- HtmlTextArea.cs
- FixedPosition.cs
- DataServiceCollectionOfT.cs
- SoundPlayerAction.cs
- Int64.cs
- AttributeTable.cs
- ProcessHost.cs
- DisplayNameAttribute.cs
- _ChunkParse.cs
- SatelliteContractVersionAttribute.cs
- HighlightComponent.cs
- _LocalDataStore.cs
- ApplicationSettingsBase.cs
- ExecutionScope.cs
- AlphabetConverter.cs
- CodeGenerationManager.cs
- XmlSchemaGroupRef.cs
- TypedReference.cs
- QilInvokeLateBound.cs
- ReservationNotFoundException.cs
- DbDataSourceEnumerator.cs
- ScrollPattern.cs
- TextParagraph.cs
- SignedXml.cs
- XslAst.cs
- SafeBuffer.cs
- CombinedGeometry.cs
- DataGridViewCellStyleConverter.cs
- WriterOutput.cs
- XmlILStorageConverter.cs
- CompressedStack.cs
- TreeNode.cs
- FormatSettings.cs
- IssuanceTokenProviderState.cs
- DrawingGroup.cs
- CodePageEncoding.cs
- BuildProvidersCompiler.cs
- StrokeFIndices.cs
- TimeZone.cs
- AssertUtility.cs
- SvcMapFileLoader.cs
- AutoGeneratedFieldProperties.cs
- EventLogEntry.cs
- XmlHierarchyData.cs
- CategoryList.cs
- ControlBindingsCollection.cs
- UnmanagedMemoryStream.cs
- MetadataArtifactLoaderComposite.cs
- ExeContext.cs
- DecimalFormatter.cs
- PingReply.cs
- HttpServerUtilityWrapper.cs
- WindowsListViewItem.cs
- DataGridHeaderBorder.cs
- FileEnumerator.cs
- DropShadowBitmapEffect.cs
- XmlValidatingReader.cs
- ObjectHandle.cs
- grammarelement.cs
- ObjectCacheHost.cs
- DeclaredTypeValidator.cs
- Converter.cs
- ConfigurationCollectionAttribute.cs