Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- InstancePersistenceCommand.cs
- NullRuntimeConfig.cs
- Visual3D.cs
- MsmqIntegrationProcessProtocolHandler.cs
- Invariant.cs
- RowToFieldTransformer.cs
- DirectoryObjectSecurity.cs
- TdsRecordBufferSetter.cs
- XmlAttributes.cs
- TextSpanModifier.cs
- ExpressionBuilderContext.cs
- SqlDuplicator.cs
- RowBinding.cs
- NotifyParentPropertyAttribute.cs
- DBSqlParserTableCollection.cs
- ExternalException.cs
- ObjectMemberMapping.cs
- UpdatePanelTrigger.cs
- ArraySegment.cs
- C14NUtil.cs
- MarkerProperties.cs
- PrintDialogDesigner.cs
- XmlResolver.cs
- FontWeights.cs
- ConstantSlot.cs
- PersonalizationProviderHelper.cs
- GiveFeedbackEvent.cs
- ContextMenuService.cs
- PngBitmapEncoder.cs
- ConnectionStringsExpressionBuilder.cs
- GPPOINTF.cs
- InputBinding.cs
- EditorAttribute.cs
- SecurityTokenProviderContainer.cs
- WebPartVerbCollection.cs
- _ConnectOverlappedAsyncResult.cs
- BehaviorEditorPart.cs
- ViewStateException.cs
- HandledEventArgs.cs
- AttributeUsageAttribute.cs
- WebPartZone.cs
- ReaderContextStackData.cs
- diagnosticsswitches.cs
- AdapterUtil.cs
- DirectoryObjectSecurity.cs
- DebugView.cs
- IdentifierService.cs
- DataControlLinkButton.cs
- WindowHideOrCloseTracker.cs
- Base64Stream.cs
- WeakReferenceEnumerator.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- DataControlImageButton.cs
- Matrix.cs
- DesignerHost.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- ServiceModelEnumValidatorAttribute.cs
- XmlNavigatorStack.cs
- ClientScriptItem.cs
- SecurityTokenTypes.cs
- HttpProfileBase.cs
- ClientSideProviderDescription.cs
- IWorkflowDebuggerService.cs
- SoapEnumAttribute.cs
- sqlstateclientmanager.cs
- KeySplineConverter.cs
- DynamicPropertyHolder.cs
- SequentialUshortCollection.cs
- HeaderUtility.cs
- TreeNodeEventArgs.cs
- QueryValue.cs
- XmlMemberMapping.cs
- XmlSchemaSimpleContentRestriction.cs
- PointF.cs
- EllipseGeometry.cs
- ProtocolReflector.cs
- XPathQilFactory.cs
- InvokeBase.cs
- ButtonColumn.cs
- PrintDocument.cs
- Metadata.cs
- TextServicesCompartmentEventSink.cs
- X509Utils.cs
- CodeStatementCollection.cs
- PointF.cs
- GenerateScriptTypeAttribute.cs
- TypeDescriptorContext.cs
- X500Name.cs
- Transform.cs
- TextFindEngine.cs
- Utils.cs
- Stack.cs
- ToolStripInSituService.cs
- CompositionTarget.cs
- Merger.cs
- xmlsaver.cs
- RecognizerStateChangedEventArgs.cs
- ErrorWebPart.cs
- DataGridViewCellPaintingEventArgs.cs
- TemplatePagerField.cs