Code:
/ FX-1434 / FX-1434 / 1.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
- PointCollectionValueSerializer.cs
- Ref.cs
- AccessKeyManager.cs
- ConfigurationSectionGroup.cs
- ConfigurationSectionGroup.cs
- ExpressionParser.cs
- HiddenField.cs
- XmlSerializationReader.cs
- webeventbuffer.cs
- VarRefManager.cs
- RemotingServices.cs
- VersionedStream.cs
- RandomNumberGenerator.cs
- Vector3DAnimationUsingKeyFrames.cs
- RadioButtonStandardAdapter.cs
- HtmlControlAdapter.cs
- HelloOperationCD1AsyncResult.cs
- PersonalizationAdministration.cs
- ToolStripDropDown.cs
- PeerServiceMessageContracts.cs
- RelationshipEndCollection.cs
- NumberFormatter.cs
- PropertyEntry.cs
- regiisutil.cs
- HttpClientCertificate.cs
- SafeFileHandle.cs
- TextParentUndoUnit.cs
- Symbol.cs
- QuaternionAnimation.cs
- UnsafeNativeMethodsMilCoreApi.cs
- HtmlImage.cs
- TypeExtensionConverter.cs
- MainMenu.cs
- Button.cs
- RuleDefinitions.cs
- ParameterRefs.cs
- InstanceView.cs
- Variable.cs
- PointUtil.cs
- Visual3D.cs
- ObjectManager.cs
- BookmarkInfo.cs
- SingleResultAttribute.cs
- ActiveXSite.cs
- CultureTable.cs
- PostBackTrigger.cs
- RegexMatch.cs
- OleDbReferenceCollection.cs
- ModelItemExtensions.cs
- LabelTarget.cs
- Listbox.cs
- AppearanceEditorPart.cs
- DbCommandTree.cs
- ThicknessConverter.cs
- SoapSchemaExporter.cs
- ErrorTableItemStyle.cs
- SqlServer2KCompatibilityCheck.cs
- WindowVisualStateTracker.cs
- _HTTPDateParse.cs
- ClientRuntime.cs
- SqlFactory.cs
- sqlpipe.cs
- OleDbPropertySetGuid.cs
- Misc.cs
- Errors.cs
- HttpsTransportBindingElement.cs
- CalendarDay.cs
- MediaScriptCommandRoutedEventArgs.cs
- RSAPKCS1KeyExchangeFormatter.cs
- externdll.cs
- QualificationDataItem.cs
- StaticDataManager.cs
- ByteViewer.cs
- ValidatorCompatibilityHelper.cs
- HyperLink.cs
- UIElementParaClient.cs
- ReturnValue.cs
- DynamicValueConverter.cs
- DataGridViewRowConverter.cs
- SmtpNetworkElement.cs
- CompoundFileReference.cs
- TreeNodeCollectionEditor.cs
- CompositeDuplexBindingElementImporter.cs
- NavigationPropertyAccessor.cs
- GradientPanel.cs
- ButtonField.cs
- FrameworkContentElement.cs
- ColorInterpolationModeValidation.cs
- InputScope.cs
- DisplayMemberTemplateSelector.cs
- Lease.cs
- RepeatInfo.cs
- ValidatingPropertiesEventArgs.cs
- EmbossBitmapEffect.cs
- ReverseInheritProperty.cs
- DataGridPagerStyle.cs
- SinglePhaseEnlistment.cs
- COM2PropertyDescriptor.cs
- ThreadExceptionEvent.cs
- WebEvents.cs