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
- SchemaElementDecl.cs
- Timer.cs
- COM2PropertyDescriptor.cs
- MDIWindowDialog.cs
- FakeModelPropertyImpl.cs
- TransformPattern.cs
- ValidatedControlConverter.cs
- ArraySegment.cs
- HandleCollector.cs
- InputScopeNameConverter.cs
- GetPageNumberCompletedEventArgs.cs
- IISMapPath.cs
- SQLByte.cs
- QueryCursorEventArgs.cs
- MenuTracker.cs
- DragEvent.cs
- CultureNotFoundException.cs
- WebConfigurationManager.cs
- UnicodeEncoding.cs
- CommandEventArgs.cs
- PropertyMappingExceptionEventArgs.cs
- UpdatePanelTriggerCollection.cs
- GroupQuery.cs
- CultureInfoConverter.cs
- AppSettingsExpressionBuilder.cs
- IISMapPath.cs
- ApplicationServiceManager.cs
- TreeNodeBinding.cs
- HtmlTitle.cs
- NumberSubstitution.cs
- HtmlAnchor.cs
- securestring.cs
- Hex.cs
- TagMapCollection.cs
- XmlException.cs
- RayMeshGeometry3DHitTestResult.cs
- MimeTypeMapper.cs
- SqlInfoMessageEvent.cs
- NetworkCredential.cs
- UnauthorizedWebPart.cs
- RegisteredHiddenField.cs
- ToolboxItemCollection.cs
- NullableIntAverageAggregationOperator.cs
- PageRequestManager.cs
- XmlValueConverter.cs
- HttpApplicationStateBase.cs
- LogEntry.cs
- RequestTimeoutManager.cs
- TextBreakpoint.cs
- datacache.cs
- OuterGlowBitmapEffect.cs
- Label.cs
- ApplicationProxyInternal.cs
- SQLMembershipProvider.cs
- CacheDependency.cs
- RoleManagerEventArgs.cs
- ResourceDisplayNameAttribute.cs
- InputScope.cs
- TableHeaderCell.cs
- WCFBuildProvider.cs
- CookieProtection.cs
- JsonDataContract.cs
- XmlJsonWriter.cs
- XAMLParseException.cs
- TransformationRules.cs
- InstallerTypeAttribute.cs
- _HeaderInfoTable.cs
- _SecureChannel.cs
- DocumentPageView.cs
- ComboBoxItem.cs
- SerialReceived.cs
- RawTextInputReport.cs
- BufferedWebEventProvider.cs
- FixedHyperLink.cs
- ArrayTypeMismatchException.cs
- _SslStream.cs
- FileSecurity.cs
- MailHeaderInfo.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- TeredoHelper.cs
- TextElementAutomationPeer.cs
- SimpleType.cs
- GeneralTransform3DGroup.cs
- PreservationFileReader.cs
- ExitEventArgs.cs
- Completion.cs
- MobileListItem.cs
- ButtonField.cs
- RoleManagerEventArgs.cs
- Grammar.cs
- KoreanCalendar.cs
- XmlSubtreeReader.cs
- SyntaxCheck.cs
- LogPolicy.cs
- HtmlFormWrapper.cs
- OpenTypeLayoutCache.cs
- ZeroOpNode.cs
- TokenFactoryFactory.cs
- TextBoxView.cs