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
- StringReader.cs
- CopyCodeAction.cs
- ValidationRule.cs
- TableCell.cs
- Substitution.cs
- HttpCachePolicyElement.cs
- BindingContext.cs
- AnimationStorage.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- HttpCookiesSection.cs
- Native.cs
- OrthographicCamera.cs
- ExceptionHandlersDesigner.cs
- WorkItem.cs
- SoapCodeExporter.cs
- ApplicationException.cs
- TypeHelpers.cs
- ToolboxDataAttribute.cs
- StaticExtension.cs
- DetailsViewModeEventArgs.cs
- RoutedUICommand.cs
- PersonalizationAdministration.cs
- LocationSectionRecord.cs
- Configuration.cs
- PriorityBinding.cs
- GraphicsContainer.cs
- _BasicClient.cs
- Base64Encoder.cs
- GenericXmlSecurityToken.cs
- _BasicClient.cs
- TogglePattern.cs
- SqlCachedBuffer.cs
- LogicalExpressionEditor.cs
- MouseButtonEventArgs.cs
- KoreanCalendar.cs
- EdmValidator.cs
- NativeBuffer.cs
- PersonalizationState.cs
- Equal.cs
- PrivateFontCollection.cs
- DataListComponentEditor.cs
- PipeStream.cs
- TemplateInstanceAttribute.cs
- DbReferenceCollection.cs
- SoapServerProtocol.cs
- ConfigXmlCDataSection.cs
- WindowsListViewItem.cs
- MenuItem.cs
- PhonemeConverter.cs
- WindowsToolbarItemAsMenuItem.cs
- MailHeaderInfo.cs
- validation.cs
- BinarySecretKeyIdentifierClause.cs
- DrawingContext.cs
- ProtectedConfiguration.cs
- ExceptionList.cs
- TemplateGroupCollection.cs
- NumericUpDownAcceleration.cs
- UriTemplateMatchException.cs
- EditorBrowsableAttribute.cs
- FileSystemWatcher.cs
- SystemParameters.cs
- GenericRootAutomationPeer.cs
- SoapTypeAttribute.cs
- RuleProcessor.cs
- XmlUtf8RawTextWriter.cs
- XmlSchemaComplexContentRestriction.cs
- SqlCacheDependencyDatabaseCollection.cs
- rsa.cs
- HashMembershipCondition.cs
- relpropertyhelper.cs
- _DigestClient.cs
- SplitContainer.cs
- LogicalExpr.cs
- ClipboardData.cs
- BindingExpression.cs
- MeasureItemEvent.cs
- TextEffectCollection.cs
- StringUtil.cs
- RegistryDataKey.cs
- controlskin.cs
- UniqueEventHelper.cs
- QueryCacheManager.cs
- LinkLabelLinkClickedEvent.cs
- UriTemplate.cs
- RuntimeConfig.cs
- WebPartRestoreVerb.cs
- Boolean.cs
- ClientFormsAuthenticationMembershipProvider.cs
- UITypeEditors.cs
- RuleProcessor.cs
- PlacementWorkspace.cs
- ObjectDataSourceStatusEventArgs.cs
- ToolBar.cs
- Int16Animation.cs
- SmiEventSink_DeferedProcessing.cs
- ColumnReorderedEventArgs.cs
- VariableQuery.cs
- DependencyPropertyChangedEventArgs.cs
- AdjustableArrowCap.cs