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
- SessionStateSection.cs
- ParseHttpDate.cs
- MachineSettingsSection.cs
- QueueException.cs
- EventLogQuery.cs
- OdbcConnectionString.cs
- MenuCommandsChangedEventArgs.cs
- SubstitutionDesigner.cs
- SecurityDescriptor.cs
- FixedTextContainer.cs
- PenLineCapValidation.cs
- FrameworkContentElementAutomationPeer.cs
- ClientTargetSection.cs
- List.cs
- _ListenerAsyncResult.cs
- AutoGeneratedFieldProperties.cs
- UnsafeNativeMethods.cs
- MetadataWorkspace.cs
- XPathScanner.cs
- JoinElimination.cs
- X509CertificateValidator.cs
- Odbc32.cs
- SpeechRecognizer.cs
- TypeElement.cs
- BitmapEffectDrawing.cs
- SqlCommand.cs
- ProcessModelSection.cs
- SQLBoolean.cs
- PolicyValidationException.cs
- LinqDataSourceEditData.cs
- LineUtil.cs
- OperatorExpressions.cs
- ImageSource.cs
- WindowsSpinner.cs
- GeneralTransform3DTo2DTo3D.cs
- CallbackWrapper.cs
- ReliabilityContractAttribute.cs
- CommonDialog.cs
- DataList.cs
- HtmlUtf8RawTextWriter.cs
- XmlMapping.cs
- cache.cs
- Set.cs
- CodeAccessSecurityEngine.cs
- CTreeGenerator.cs
- XmlAttributeAttribute.cs
- MimeParameter.cs
- XsltLibrary.cs
- DataGridCheckBoxColumn.cs
- SelectionGlyph.cs
- MetadataWorkspace.cs
- Thumb.cs
- Debugger.cs
- ResourceExpressionBuilder.cs
- ImportOptions.cs
- ColumnMap.cs
- WebPartCatalogCloseVerb.cs
- SevenBitStream.cs
- PartialTrustVisibleAssembliesSection.cs
- MachineSettingsSection.cs
- TraceUtility.cs
- ProviderIncompatibleException.cs
- XamlToRtfParser.cs
- xmlNames.cs
- PolyBezierSegmentFigureLogic.cs
- ParameterDataSourceExpression.cs
- XmlSchemaInclude.cs
- DocumentViewerBaseAutomationPeer.cs
- BufferedGraphicsManager.cs
- ToolboxCategory.cs
- DelegatingTypeDescriptionProvider.cs
- ChtmlTextWriter.cs
- DragStartedEventArgs.cs
- ManagementException.cs
- TypeLibConverter.cs
- PageBreakRecord.cs
- StrongTypingException.cs
- StringValidatorAttribute.cs
- DeferrableContentConverter.cs
- CodeGenerationManager.cs
- VideoDrawing.cs
- KnownBoxes.cs
- ContainsSearchOperator.cs
- VectorAnimation.cs
- ReferentialConstraintRoleElement.cs
- FlowDocumentScrollViewer.cs
- FixUpCollection.cs
- XmlBuffer.cs
- TreeNodeStyleCollectionEditor.cs
- SqlBooleanizer.cs
- GridViewCellAutomationPeer.cs
- EntityTransaction.cs
- ActivityDesignerHelper.cs
- GlyphRunDrawing.cs
- GeneralTransform.cs
- CompositeFontParser.cs
- BamlResourceSerializer.cs
- DataControlCommands.cs
- DataGridPageChangedEventArgs.cs
- XmlWellformedWriter.cs