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
- XamlTreeBuilder.cs
- SafeTokenHandle.cs
- ResourceReferenceExpression.cs
- MsmqReceiveHelper.cs
- SimpleWebHandlerParser.cs
- InputLanguageEventArgs.cs
- VectorKeyFrameCollection.cs
- TextShapeableCharacters.cs
- WebRequestModuleElement.cs
- Light.cs
- ACE.cs
- SqlGatherProducedAliases.cs
- RepeaterItemCollection.cs
- EntityDataSourceEntityTypeFilterItem.cs
- InfoCardListRequest.cs
- DropShadowEffect.cs
- PermissionSetEnumerator.cs
- FileDialogPermission.cs
- JournalEntryListConverter.cs
- MaterialCollection.cs
- LongValidator.cs
- _NetRes.cs
- ClientProxyGenerator.cs
- UDPClient.cs
- ExplicitDiscriminatorMap.cs
- Expressions.cs
- TreeWalkHelper.cs
- SafeSystemMetrics.cs
- FileDetails.cs
- ProgressBarHighlightConverter.cs
- DataKeyArray.cs
- DivideByZeroException.cs
- MsmqIntegrationInputChannel.cs
- TokenBasedSetEnumerator.cs
- StoreItemCollection.cs
- FirstMatchCodeGroup.cs
- OdbcDataReader.cs
- TextFormatterContext.cs
- CodeTypeOfExpression.cs
- XamlUtilities.cs
- WindowsStatic.cs
- AffineTransform3D.cs
- ChangeDirector.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- UIElement3D.cs
- ValidationResult.cs
- PolyBezierSegmentFigureLogic.cs
- XmlValueConverter.cs
- BindToObject.cs
- FileDialog.cs
- MethodInfo.cs
- AsymmetricKeyExchangeDeformatter.cs
- DisplayInformation.cs
- ChannelFactoryRefCache.cs
- HtmlLinkAdapter.cs
- HttpVersion.cs
- PropertyInfoSet.cs
- LinqDataSourceDisposeEventArgs.cs
- CqlLexer.cs
- NullReferenceException.cs
- NativeMethods.cs
- SchemaElementLookUpTable.cs
- VectorAnimationBase.cs
- XmlSchemaResource.cs
- MostlySingletonList.cs
- DataGridViewCellPaintingEventArgs.cs
- EventLogHandle.cs
- CaseCqlBlock.cs
- EndPoint.cs
- Base64Decoder.cs
- InputLangChangeRequestEvent.cs
- XmlDataProvider.cs
- PageCopyCount.cs
- RightsManagementEncryptionTransform.cs
- ThicknessKeyFrameCollection.cs
- BaseDataListActionList.cs
- HTMLTextWriter.cs
- ToolStripPanelRow.cs
- ListViewInsertionMark.cs
- MimeMultiPart.cs
- CompiledXpathExpr.cs
- CodeMemberField.cs
- PointCollectionConverter.cs
- Brush.cs
- BuilderPropertyEntry.cs
- RootBrowserWindowAutomationPeer.cs
- OdbcDataReader.cs
- MtomMessageEncoder.cs
- RbTree.cs
- ProjectedSlot.cs
- TheQuery.cs
- SynchronousReceiveBehavior.cs
- ToolStripDropTargetManager.cs
- MetadataProperty.cs
- EntityDataSourceViewSchema.cs
- ProcessStartInfo.cs
- AssociationSet.cs
- FtpWebResponse.cs
- ProfileSettings.cs
- ImpersonationContext.cs