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
- StringAnimationBase.cs
- IODescriptionAttribute.cs
- StylusPointDescription.cs
- HashCodeCombiner.cs
- SingleAnimation.cs
- SoapMessage.cs
- WindowsEditBox.cs
- SqlDataSourceCache.cs
- Double.cs
- CapabilitiesAssignment.cs
- SoapClientProtocol.cs
- ToolStripActionList.cs
- UiaCoreApi.cs
- FieldAccessException.cs
- Polyline.cs
- DispatchChannelSink.cs
- ModuleBuilderData.cs
- ToolBarOverflowPanel.cs
- ImageMapEventArgs.cs
- ThumbButtonInfo.cs
- TabItem.cs
- DataControlFieldCollection.cs
- SqlUdtInfo.cs
- CipherData.cs
- SmiSettersStream.cs
- PrimarySelectionAdorner.cs
- Visual.cs
- OracleCommand.cs
- SeverityFilter.cs
- TableLayoutPanelResizeGlyph.cs
- RtfControls.cs
- HwndSource.cs
- FaultConverter.cs
- XmlSchemaSimpleTypeUnion.cs
- UnsafeNativeMethods.cs
- EntityDataSourceContextCreatedEventArgs.cs
- HandlerBase.cs
- ScrollableControl.cs
- SystemWebCachingSectionGroup.cs
- DecimalAnimation.cs
- SoapIncludeAttribute.cs
- TimeSpanValidator.cs
- MembershipPasswordException.cs
- exports.cs
- LinqExpressionNormalizer.cs
- AutomationElementCollection.cs
- ListControlConvertEventArgs.cs
- ObjectDataSourceDisposingEventArgs.cs
- Visual3DCollection.cs
- PackageStore.cs
- TextServicesProperty.cs
- LineUtil.cs
- XmlSchemaComplexContentRestriction.cs
- ComponentCommands.cs
- Visual3D.cs
- TableLayoutPanelDesigner.cs
- ConfigViewGenerator.cs
- documentsequencetextview.cs
- EdmError.cs
- XPathNavigatorKeyComparer.cs
- KeyedCollection.cs
- InputLanguage.cs
- GCHandleCookieTable.cs
- RequiredFieldValidator.cs
- CardSpaceShim.cs
- PackageRelationshipCollection.cs
- OleDbWrapper.cs
- SourceSwitch.cs
- TextOptionsInternal.cs
- OutputScopeManager.cs
- ObjectReaderCompiler.cs
- MailWriter.cs
- DataContractAttribute.cs
- BaseUriHelper.cs
- SizeValueSerializer.cs
- Win32PrintDialog.cs
- X509RawDataKeyIdentifierClause.cs
- BitmapEffectGroup.cs
- SimpleLine.cs
- QuerySelectOp.cs
- XmlEntity.cs
- PolyLineSegmentFigureLogic.cs
- SpecialTypeDataContract.cs
- CollectionEditor.cs
- XmlJsonWriter.cs
- WebPartDisplayModeEventArgs.cs
- XamlToRtfParser.cs
- TextEffect.cs
- ExcCanonicalXml.cs
- Compilation.cs
- SequenceFullException.cs
- Activation.cs
- BamlRecords.cs
- BodyWriter.cs
- SqlConnectionStringBuilder.cs
- UniqueIdentifierService.cs
- CuspData.cs
- Span.cs
- ErrorFormatterPage.cs
- ColumnHeaderCollectionEditor.cs