Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IntegerFacetDescriptionElement.cs
- NetStream.cs
- OdbcEnvironment.cs
- TextDecoration.cs
- StringValidator.cs
- FocusWithinProperty.cs
- ToolStripLocationCancelEventArgs.cs
- Stroke.cs
- RepeatInfo.cs
- SqlNodeAnnotations.cs
- _ListenerResponseStream.cs
- DecoderNLS.cs
- UnicastIPAddressInformationCollection.cs
- MetafileHeader.cs
- CorrelationActionMessageFilter.cs
- WrappingXamlSchemaContext.cs
- ObfuscateAssemblyAttribute.cs
- SettingsAttributes.cs
- RuntimeConfig.cs
- Ops.cs
- MatrixIndependentAnimationStorage.cs
- HtmlTextBoxAdapter.cs
- ZipPackagePart.cs
- ZipIOModeEnforcingStream.cs
- UdpDiscoveryMessageFilter.cs
- EntityCollection.cs
- X500Name.cs
- SecUtil.cs
- OutOfMemoryException.cs
- IISMapPath.cs
- SafeProcessHandle.cs
- TextWriter.cs
- AdapterUtil.cs
- NameScope.cs
- BaseTemplateCodeDomTreeGenerator.cs
- FixedDSBuilder.cs
- ValueConversionAttribute.cs
- XmlDictionary.cs
- ControlBuilder.cs
- ValidationErrorEventArgs.cs
- PropertyGridCommands.cs
- Serializer.cs
- EnumerableRowCollectionExtensions.cs
- Span.cs
- EventLogTraceListener.cs
- SpeechUI.cs
- PageThemeParser.cs
- XmlSerializableWriter.cs
- UdpTransportSettingsElement.cs
- QilTypeChecker.cs
- ConfigurationFileMap.cs
- StringSource.cs
- CapabilitiesPattern.cs
- SQLResource.cs
- Processor.cs
- DecimalConverter.cs
- TrustManagerPromptUI.cs
- CommandEventArgs.cs
- XmlSchemaExternal.cs
- Compiler.cs
- ErrorWebPart.cs
- WinEventQueueItem.cs
- SqlRowUpdatingEvent.cs
- DynamicDocumentPaginator.cs
- Evidence.cs
- VectorCollection.cs
- HttpValueCollection.cs
- BrowserInteropHelper.cs
- BulletedList.cs
- TreeNodeStyleCollection.cs
- AnnotationHelper.cs
- Bezier.cs
- WindowsSlider.cs
- ImportCatalogPart.cs
- HttpCapabilitiesBase.cs
- Timeline.cs
- Application.cs
- HtmlWindow.cs
- KernelTypeValidation.cs
- SQLSingle.cs
- ProxyHelper.cs
- DialogResultConverter.cs
- BitmapFrameEncode.cs
- ByteConverter.cs
- LinearGradientBrush.cs
- PageSetupDialog.cs
- BeginStoryboard.cs
- PolyBezierSegmentFigureLogic.cs
- OperationContext.cs
- ProcessThreadCollection.cs
- PermissionAttributes.cs
- ReaderWriterLockWrapper.cs
- Preprocessor.cs
- _FixedSizeReader.cs
- LowerCaseStringConverter.cs
- RoutedPropertyChangedEventArgs.cs
- RemoteWebConfigurationHostServer.cs
- User.cs
- Stylesheet.cs
- UnsafeNativeMethods.cs