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
- SqlNotificationRequest.cs
- ConfigXmlSignificantWhitespace.cs
- ProcessDesigner.cs
- MultilineStringConverter.cs
- MachineKeyConverter.cs
- SQLBinaryStorage.cs
- Publisher.cs
- GridViewDeletedEventArgs.cs
- COM2ColorConverter.cs
- AbsoluteQuery.cs
- DictionaryEntry.cs
- DataKeyArray.cs
- TextParagraph.cs
- XmlChoiceIdentifierAttribute.cs
- SerialStream.cs
- AuthenticationServiceManager.cs
- NativeMethods.cs
- PropertyGroupDescription.cs
- ReflectionHelper.cs
- StorageRoot.cs
- EmbeddedObject.cs
- ReadOnlyHierarchicalDataSourceView.cs
- RemotingSurrogateSelector.cs
- DataGridViewRowsRemovedEventArgs.cs
- StdValidatorsAndConverters.cs
- ConnectionInterfaceCollection.cs
- Metadata.cs
- XomlCompiler.cs
- CodeTypeDelegate.cs
- AspNetRouteServiceHttpHandler.cs
- AnimationException.cs
- Splitter.cs
- DbParameterCollectionHelper.cs
- ProcessModelInfo.cs
- TabPage.cs
- GetPageNumberCompletedEventArgs.cs
- TextDecorationUnitValidation.cs
- SQlBooleanStorage.cs
- StackSpiller.Bindings.cs
- NotifyIcon.cs
- XamlPointCollectionSerializer.cs
- GuidConverter.cs
- SQLDateTime.cs
- TdsRecordBufferSetter.cs
- HttpServerChannel.cs
- SoapInteropTypes.cs
- FontDialog.cs
- ServiceNameCollection.cs
- ColumnHeader.cs
- FileDialog_Vista_Interop.cs
- DataServiceQueryProvider.cs
- IsolatedStorageFilePermission.cs
- WriteTimeStream.cs
- TraceUtility.cs
- TextSimpleMarkerProperties.cs
- SerializationObjectManager.cs
- SecurityStateEncoder.cs
- XPathSingletonIterator.cs
- SqlBulkCopyColumnMappingCollection.cs
- InkCanvasFeedbackAdorner.cs
- AsyncOperation.cs
- OneWayChannelListener.cs
- OleDbWrapper.cs
- GPPOINTF.cs
- SafeFileHandle.cs
- ParameterExpression.cs
- GenericPrincipal.cs
- WorkflowEnvironment.cs
- TabItemWrapperAutomationPeer.cs
- InputDevice.cs
- BinaryFormatterWriter.cs
- WebPartPersonalization.cs
- Sequence.cs
- ForEachDesigner.xaml.cs
- RadioButtonPopupAdapter.cs
- DesignTimeDataBinding.cs
- CodeExpressionCollection.cs
- WsatAdminException.cs
- DataGridViewSelectedColumnCollection.cs
- DurableDispatcherAddressingFault.cs
- PeerTransportSecuritySettings.cs
- FlowDocumentPageViewerAutomationPeer.cs
- NullableLongAverageAggregationOperator.cs
- PreProcessInputEventArgs.cs
- Menu.cs
- DbConnectionPoolOptions.cs
- HierarchicalDataSourceIDConverter.cs
- WorkflowRuntimeSection.cs
- WindowsFormsHost.cs
- DocumentViewer.cs
- ImportCatalogPart.cs
- RegistrationServices.cs
- TreeNodeStyle.cs
- InteropAutomationProvider.cs
- Matrix3DStack.cs
- Size3D.cs
- FlowDocumentPageViewerAutomationPeer.cs
- PeerMaintainer.cs
- BaseTemplateBuildProvider.cs
- InputScopeConverter.cs