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
- METAHEADER.cs
- Facet.cs
- Decoder.cs
- DelegatingStream.cs
- DataGridToolTip.cs
- StreamWithDictionary.cs
- GeneralTransform3DGroup.cs
- Nodes.cs
- TextElementCollection.cs
- Mappings.cs
- StatusBarPanelClickEvent.cs
- SqlGatherProducedAliases.cs
- ImageAnimator.cs
- BitmapCodecInfoInternal.cs
- TypeExtensionConverter.cs
- XsltException.cs
- NavigationWindowAutomationPeer.cs
- TempFiles.cs
- COSERVERINFO.cs
- AssemblyCollection.cs
- DictionaryGlobals.cs
- MiniMapControl.xaml.cs
- OracleDataAdapter.cs
- HttpCacheVaryByContentEncodings.cs
- SmiSettersStream.cs
- SHA512.cs
- ApplicationSecurityManager.cs
- SchemaSetCompiler.cs
- ExpressionPrefixAttribute.cs
- TypefaceMetricsCache.cs
- ToolboxItemCollection.cs
- SettingsBindableAttribute.cs
- EditorBrowsableAttribute.cs
- StringUtil.cs
- ExtendedPropertyCollection.cs
- KeyboardEventArgs.cs
- OAVariantLib.cs
- ResXResourceSet.cs
- MetadataSource.cs
- LoginUtil.cs
- SafePEFileHandle.cs
- InputScope.cs
- CommandLibraryHelper.cs
- DependencyObject.cs
- SqlCacheDependency.cs
- ClientBuildManagerCallback.cs
- DiscreteKeyFrames.cs
- PixelFormats.cs
- DateTimeHelper.cs
- QueryOperationResponseOfT.cs
- SingleObjectCollection.cs
- SchemaInfo.cs
- SerialPinChanges.cs
- DataControlImageButton.cs
- CodeDOMUtility.cs
- AppModelKnownContentFactory.cs
- CacheForPrimitiveTypes.cs
- TableLayoutPanelCellPosition.cs
- MethodToken.cs
- SelectionPattern.cs
- DBDataPermissionAttribute.cs
- InertiaExpansionBehavior.cs
- ToolbarAUtomationPeer.cs
- RenderContext.cs
- DataGridColumnStyleMappingNameEditor.cs
- CellParagraph.cs
- FontUnit.cs
- ObjectHandle.cs
- StrokeNodeOperations2.cs
- DBConnection.cs
- ColumnReorderedEventArgs.cs
- SemaphoreFullException.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- MembershipUser.cs
- ReadWriteObjectLock.cs
- Rectangle.cs
- XamlSerializerUtil.cs
- ObjectIDGenerator.cs
- DispatcherFrame.cs
- EncryptedPackage.cs
- Message.cs
- FactoryMaker.cs
- __ComObject.cs
- MDIWindowDialog.cs
- DataGridViewSelectedCellCollection.cs
- CollectionBase.cs
- DataControlFieldCollection.cs
- processwaithandle.cs
- ParserStack.cs
- WmlValidationSummaryAdapter.cs
- FtpWebRequest.cs
- StandardOleMarshalObject.cs
- RelOps.cs
- XPathSingletonIterator.cs
- Automation.cs
- ResourceSetExpression.cs
- CompilerScopeManager.cs
- StylusDownEventArgs.cs
- AdRotatorDesigner.cs
- SemanticTag.cs