Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ListControl.cs
- MenuEventArgs.cs
- XmlDocument.cs
- SatelliteContractVersionAttribute.cs
- XmlSchemaSubstitutionGroup.cs
- ServiceNameElement.cs
- FunctionDetailsReader.cs
- CannotUnloadAppDomainException.cs
- ColumnMapTranslator.cs
- CodeObject.cs
- SourceChangedEventArgs.cs
- RequestBringIntoViewEventArgs.cs
- RemotingService.cs
- DesignerCommandAdapter.cs
- DrawingDrawingContext.cs
- URI.cs
- CounterNameConverter.cs
- Funcletizer.cs
- TextFormatterHost.cs
- DataObject.cs
- WebPartConnectVerb.cs
- EUCJPEncoding.cs
- ProviderConnectionPointCollection.cs
- ViewManager.cs
- EncodingNLS.cs
- SQLString.cs
- ServiceModelActivity.cs
- FormViewDeletedEventArgs.cs
- DateTimeConverter.cs
- DiagnosticsConfigurationHandler.cs
- MarkupProperty.cs
- Parallel.cs
- BamlLocalizabilityResolver.cs
- SqlRowUpdatedEvent.cs
- ObjectReaderCompiler.cs
- CorrelationKey.cs
- DataGridViewHeaderCell.cs
- SymmetricSecurityBindingElement.cs
- RecommendedAsConfigurableAttribute.cs
- FormsIdentity.cs
- DSACryptoServiceProvider.cs
- XamlToRtfWriter.cs
- SessionStateItemCollection.cs
- DisplayInformation.cs
- CellCreator.cs
- DesignerGenericWebPart.cs
- MenuAdapter.cs
- SignerInfo.cs
- MissingSatelliteAssemblyException.cs
- DesignerActionVerbItem.cs
- PinnedBufferMemoryStream.cs
- JournalEntryStack.cs
- CodeParameterDeclarationExpressionCollection.cs
- EditorAttribute.cs
- SqlMethodTransformer.cs
- DSASignatureDeformatter.cs
- SchemaUtility.cs
- RijndaelManaged.cs
- QuaternionKeyFrameCollection.cs
- PenContext.cs
- UpdateCommand.cs
- CreatingCookieEventArgs.cs
- AuthenticationModuleElementCollection.cs
- DbDataReader.cs
- DataDocumentXPathNavigator.cs
- DataControlFieldTypeEditor.cs
- UnknownBitmapEncoder.cs
- ColorDialog.cs
- UriTemplateVariableQueryValue.cs
- TypeHelper.cs
- SystemTcpStatistics.cs
- MultilineStringEditor.cs
- CommandField.cs
- InputBinding.cs
- PersonalizationStateInfoCollection.cs
- NestedContainer.cs
- IUnknownConstantAttribute.cs
- NumberFormatter.cs
- PropertyChange.cs
- StrokeNodeEnumerator.cs
- AudioSignalProblemOccurredEventArgs.cs
- BaseTemplateCodeDomTreeGenerator.cs
- AppDomainAttributes.cs
- Inflater.cs
- AttributeData.cs
- XmlIgnoreAttribute.cs
- HttpModuleAction.cs
- AdRotator.cs
- Subset.cs
- MultipleViewProviderWrapper.cs
- TableHeaderCell.cs
- CompilerTypeWithParams.cs
- CmsUtils.cs
- QueryContinueDragEvent.cs
- DrawingVisual.cs
- ToolStrip.cs
- IISUnsafeMethods.cs
- RoleGroup.cs
- ComponentDispatcherThread.cs
- ContextItem.cs