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
- _SSPIWrapper.cs
- ConcurrentQueue.cs
- CompilerGeneratedAttribute.cs
- TabControlCancelEvent.cs
- DataSourceDescriptorCollection.cs
- ObjectCloneHelper.cs
- LoginName.cs
- XmlCharacterData.cs
- PropertyContainer.cs
- ArithmeticException.cs
- InitializeCorrelation.cs
- WebHttpDispatchOperationSelector.cs
- Point3DCollection.cs
- PolicyException.cs
- PrivilegedConfigurationManager.cs
- PathSegmentCollection.cs
- DataColumnChangeEvent.cs
- AgileSafeNativeMemoryHandle.cs
- AudioBase.cs
- FixedSOMSemanticBox.cs
- ZipIOLocalFileDataDescriptor.cs
- WindowsNonControl.cs
- WebPartsSection.cs
- MouseBinding.cs
- TextServicesCompartmentEventSink.cs
- SpecialNameAttribute.cs
- HtmlMobileTextWriter.cs
- BitmapSource.cs
- BinaryObjectReader.cs
- RoutedEventHandlerInfo.cs
- ChannelManager.cs
- CodeStatement.cs
- ComponentRenameEvent.cs
- AspCompat.cs
- EntityConnection.cs
- FontFamilyValueSerializer.cs
- MeasureData.cs
- StateDesigner.cs
- DataIdProcessor.cs
- UnsafeNativeMethods.cs
- ChangeProcessor.cs
- Int32CollectionConverter.cs
- DbDataSourceEnumerator.cs
- ReverseInheritProperty.cs
- XamlRtfConverter.cs
- DispatcherOperation.cs
- ScrollViewer.cs
- AttachedAnnotationChangedEventArgs.cs
- DataGridViewHeaderCell.cs
- User.cs
- FontResourceCache.cs
- TextBox.cs
- SupportingTokenChannel.cs
- BitmapDownload.cs
- SqlExpander.cs
- ViewCellRelation.cs
- ShaderEffect.cs
- PriorityItem.cs
- PrimaryKeyTypeConverter.cs
- SystemSounds.cs
- HtmlButton.cs
- SequenceQuery.cs
- TextRangeSerialization.cs
- ErrorReporting.cs
- TreeNodeClickEventArgs.cs
- XsltContext.cs
- BindValidationContext.cs
- SqlMethodTransformer.cs
- RangeBaseAutomationPeer.cs
- DataSetUtil.cs
- DatatypeImplementation.cs
- LineGeometry.cs
- PeerCustomResolverSettings.cs
- StyleXamlParser.cs
- ColorTranslator.cs
- DoubleAnimation.cs
- Version.cs
- SettingsPropertyWrongTypeException.cs
- XmlWriter.cs
- RefreshPropertiesAttribute.cs
- ListViewItemEventArgs.cs
- figurelengthconverter.cs
- RoutedPropertyChangedEventArgs.cs
- ListViewGroupConverter.cs
- TcpChannelFactory.cs
- VisualCollection.cs
- DataGridItemAutomationPeer.cs
- ISAPIApplicationHost.cs
- EditorPartCollection.cs
- ReadWriteControlDesigner.cs
- JsonGlobals.cs
- ScrollViewerAutomationPeer.cs
- DbUpdateCommandTree.cs
- XLinq.cs
- ContentTextAutomationPeer.cs
- WebPartDisplayModeEventArgs.cs
- TextPointer.cs
- GroupStyle.cs
- MetadataCache.cs
- HttpResponse.cs