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
- StringFreezingAttribute.cs
- GridViewCommandEventArgs.cs
- URI.cs
- HttpContext.cs
- MetadataArtifactLoader.cs
- PreProcessor.cs
- HitTestDrawingContextWalker.cs
- Subtree.cs
- Polygon.cs
- ListBox.cs
- MenuScrollingVisibilityConverter.cs
- DefaultAuthorizationContext.cs
- Convert.cs
- PeerObject.cs
- webbrowsersite.cs
- RegexMatch.cs
- ApplicationId.cs
- ComplexType.cs
- CheckBoxBaseAdapter.cs
- GridViewRowEventArgs.cs
- PaperSource.cs
- SmiRecordBuffer.cs
- UnsafeNativeMethods.cs
- HtmlMeta.cs
- SrgsSemanticInterpretationTag.cs
- TreeNodeCollectionEditor.cs
- DesignerRegionMouseEventArgs.cs
- OutputCache.cs
- OracleConnectionStringBuilder.cs
- DescriptionAttribute.cs
- PeekCompletedEventArgs.cs
- GeneralTransform3DTo2DTo3D.cs
- GridViewCancelEditEventArgs.cs
- Enum.cs
- odbcmetadatacollectionnames.cs
- DateTimeConverter.cs
- InlineUIContainer.cs
- StringSource.cs
- AssertSection.cs
- DelegateSerializationHolder.cs
- ToolStripItem.cs
- AccessDataSource.cs
- WebResourceAttribute.cs
- TraceHwndHost.cs
- XmlQuerySequence.cs
- HttpGetProtocolImporter.cs
- BreakRecordTable.cs
- ObjectDataSourceMethodEventArgs.cs
- DrawingContext.cs
- HttpRequest.cs
- TypeResolver.cs
- PersonalizableAttribute.cs
- DbConnectionPoolCounters.cs
- LabelTarget.cs
- DataGridViewAccessibleObject.cs
- HtmlHead.cs
- AvTrace.cs
- SignedPkcs7.cs
- ArraySortHelper.cs
- XmlSchemaAnnotation.cs
- XmlTextReaderImpl.cs
- __Filters.cs
- DiscoveryEndpoint.cs
- DropTarget.cs
- XmlUTF8TextReader.cs
- SQlBooleanStorage.cs
- ArraySet.cs
- WmpBitmapEncoder.cs
- GeneralTransform3DTo2D.cs
- MatrixUtil.cs
- ParameterElementCollection.cs
- XpsSerializationManager.cs
- FocusTracker.cs
- LambdaSerializationException.cs
- WS2007FederationHttpBindingElement.cs
- SQLByteStorage.cs
- SizeKeyFrameCollection.cs
- DataGridLengthConverter.cs
- CommentEmitter.cs
- VarRefManager.cs
- JapaneseLunisolarCalendar.cs
- GraphicsPathIterator.cs
- AssemblyAttributes.cs
- InternalBase.cs
- AuthorizationSection.cs
- SingleObjectCollection.cs
- XmlDataProvider.cs
- StringAttributeCollection.cs
- DefaultAssemblyResolver.cs
- RegexGroup.cs
- _AutoWebProxyScriptWrapper.cs
- DescendentsWalkerBase.cs
- NativeMethodsCLR.cs
- BinaryMethodMessage.cs
- GeneralTransformGroup.cs
- AddValidationError.cs
- ResourceCodeDomSerializer.cs
- RIPEMD160.cs
- Int32CollectionConverter.cs
- FaultCallbackWrapper.cs