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
- BooleanSwitch.cs
- DataGridViewRowsAddedEventArgs.cs
- OperatingSystem.cs
- VirtualPathUtility.cs
- ClientSession.cs
- RoleService.cs
- FormViewPageEventArgs.cs
- TextSelection.cs
- ObjectDataSourceDesigner.cs
- EventManager.cs
- MessageSmuggler.cs
- DataSourceCacheDurationConverter.cs
- SecureEnvironment.cs
- ThemeableAttribute.cs
- IndexingContentUnit.cs
- XmlSchemaSimpleTypeList.cs
- UdpChannelFactory.cs
- CodeMemberProperty.cs
- DataSourceProvider.cs
- GacUtil.cs
- XPathDescendantIterator.cs
- ContextMenuService.cs
- StackSpiller.Generated.cs
- LeafCellTreeNode.cs
- FontUnit.cs
- NotifyInputEventArgs.cs
- HealthMonitoringSection.cs
- _FtpDataStream.cs
- SQLUtility.cs
- XmlReflectionMember.cs
- TransformerInfoCollection.cs
- Part.cs
- ExpressionsCollectionConverter.cs
- RsaKeyIdentifierClause.cs
- UnmanagedMarshal.cs
- BasicKeyConstraint.cs
- SqlCacheDependencyDatabaseCollection.cs
- CompilerState.cs
- BamlLocalizableResource.cs
- DBConcurrencyException.cs
- ExtensionCollection.cs
- ObjectSet.cs
- ReversePositionQuery.cs
- PersonalizableTypeEntry.cs
- DataControlReference.cs
- StyleModeStack.cs
- SqlConnectionHelper.cs
- Soap.cs
- ApplicationDirectoryMembershipCondition.cs
- StringComparer.cs
- InsufficientMemoryException.cs
- PriorityBinding.cs
- HtmlLink.cs
- DictionaryItemsCollection.cs
- securestring.cs
- ColumnMapProcessor.cs
- WebServiceErrorEvent.cs
- WebException.cs
- EncryptedData.cs
- ErrorFormatter.cs
- ColorTransformHelper.cs
- TemplateControlBuildProvider.cs
- ClientCultureInfo.cs
- QilName.cs
- ParseNumbers.cs
- SecurityManager.cs
- Inline.cs
- QilInvoke.cs
- DurableInstancingOptions.cs
- TextTreeObjectNode.cs
- CompilerErrorCollection.cs
- OutputCacheSettings.cs
- WhitespaceSignificantCollectionAttribute.cs
- Object.cs
- Binding.cs
- DesignerAdRotatorAdapter.cs
- TaskResultSetter.cs
- QueryExecutionOption.cs
- StandardOleMarshalObject.cs
- streamingZipPartStream.cs
- HttpListenerContext.cs
- NullExtension.cs
- TcpClientCredentialType.cs
- TableProviderWrapper.cs
- OletxResourceManager.cs
- SiteOfOriginPart.cs
- Int64Animation.cs
- HotSpot.cs
- VarInfo.cs
- OracleLob.cs
- X509ChainElement.cs
- FileClassifier.cs
- WebPartVerbsEventArgs.cs
- Logging.cs
- HitTestParameters3D.cs
- Rectangle.cs
- NumericExpr.cs
- ZoneButton.cs
- ManifestResourceInfo.cs
- ThicknessKeyFrameCollection.cs