Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // 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; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- COM2PropertyDescriptor.cs
- DbParameterHelper.cs
- FlowLayout.cs
- EditCommandColumn.cs
- XmlTextAttribute.cs
- XmlSchemaAll.cs
- ReaderWriterLockWrapper.cs
- GlyphRunDrawing.cs
- EventArgs.cs
- TrackingParameters.cs
- HtmlLabelAdapter.cs
- ExceptionUtil.cs
- Bold.cs
- WebControlParameterProxy.cs
- SqlAliaser.cs
- TextServicesProperty.cs
- BuiltInPermissionSets.cs
- CodeSpit.cs
- RegistrySecurity.cs
- CallbackValidatorAttribute.cs
- InvokeHandlers.cs
- ResourceDescriptionAttribute.cs
- MetadataItemCollectionFactory.cs
- TableRowCollection.cs
- TitleStyle.cs
- MailSettingsSection.cs
- DataGridViewColumnEventArgs.cs
- PartialToken.cs
- VisualStyleElement.cs
- StrokeIntersection.cs
- QuaternionRotation3D.cs
- MaskedTextBoxTextEditor.cs
- BamlReader.cs
- SpellerHighlightLayer.cs
- SiteOfOriginContainer.cs
- UnsafeNativeMethods.cs
- Brush.cs
- SafeHandles.cs
- DataContractSerializerOperationGenerator.cs
- QueryPrefixOp.cs
- PointCollectionConverter.cs
- EntityViewContainer.cs
- MatrixValueSerializer.cs
- PolyBezierSegment.cs
- DesignerContextDescriptor.cs
- SqlTrackingQuery.cs
- ClientUrlResolverWrapper.cs
- RelatedCurrencyManager.cs
- StorageComplexPropertyMapping.cs
- FixedPageAutomationPeer.cs
- SafeFindHandle.cs
- AccessorTable.cs
- FactoryId.cs
- ByteKeyFrameCollection.cs
- XsltLibrary.cs
- TimeSpanSecondsConverter.cs
- AppSecurityManager.cs
- WinEventQueueItem.cs
- SiteMapNodeItemEventArgs.cs
- KeySplineConverter.cs
- Base64Encoder.cs
- XmlName.cs
- WrapPanel.cs
- Unit.cs
- KeyValuePair.cs
- QilName.cs
- PriorityRange.cs
- WebPartConnectionsDisconnectVerb.cs
- SaveFileDialog.cs
- SafeCryptoHandles.cs
- HostSecurityManager.cs
- XmlNamedNodeMap.cs
- ListCommandEventArgs.cs
- FigureHelper.cs
- ResourceDisplayNameAttribute.cs
- SiteMapDataSourceView.cs
- ReadOnlyHierarchicalDataSource.cs
- XmlSchemaNotation.cs
- DataControlCommands.cs
- WindowsIdentity.cs
- QilParameter.cs
- ToolTipAutomationPeer.cs
- RichTextBoxConstants.cs
- TimeSpan.cs
- RegexRunnerFactory.cs
- ConnectionInterfaceCollection.cs
- MatrixAnimationBase.cs
- BulletChrome.cs
- EdmSchemaError.cs
- EventlogProvider.cs
- XamlTypeMapper.cs
- RegexMatchCollection.cs
- DataKey.cs
- ConnectionPointCookie.cs
- XamlLoadErrorInfo.cs
- CollectionChangedEventManager.cs
- TdsParserSafeHandles.cs
- DelayedRegex.cs
- UInt16.cs
- HandleExceptionArgs.cs