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
- ParameterRetriever.cs
- DataGridViewCellLinkedList.cs
- BamlTreeUpdater.cs
- TargetInvocationException.cs
- __FastResourceComparer.cs
- Parameter.cs
- RijndaelManaged.cs
- ResXDataNode.cs
- ListViewInsertEventArgs.cs
- MetadataHelper.cs
- DoubleMinMaxAggregationOperator.cs
- CompensatableTransactionScopeActivity.cs
- xmlglyphRunInfo.cs
- HandlerBase.cs
- WindowsGraphics.cs
- ProxyAttribute.cs
- OracleSqlParser.cs
- NamespaceCollection.cs
- SimpleFieldTemplateFactory.cs
- AssemblySettingAttributes.cs
- WebPermission.cs
- MemoryStream.cs
- Block.cs
- WorkflowClientDeliverMessageWrapper.cs
- PropertyGrid.cs
- RemoteWebConfigurationHost.cs
- basecomparevalidator.cs
- DelegatingTypeDescriptionProvider.cs
- InternalPermissions.cs
- ObjectDataSourceMethodEventArgs.cs
- SrgsText.cs
- SqlDataSourceQuery.cs
- OrderByBuilder.cs
- BaseDataList.cs
- PersonalizationProviderHelper.cs
- EncryptedKeyHashIdentifierClause.cs
- LocationReferenceValue.cs
- HorizontalAlignConverter.cs
- CommentEmitter.cs
- WorkflowOperationErrorHandler.cs
- MonthChangedEventArgs.cs
- TraceHandler.cs
- SystemUnicastIPAddressInformation.cs
- ViewStateModeByIdAttribute.cs
- ScriptControlDescriptor.cs
- CodeCatchClauseCollection.cs
- Label.cs
- XamlParser.cs
- CqlLexer.cs
- LockCookie.cs
- SerializationTrace.cs
- BuildManagerHost.cs
- PathSegment.cs
- AnimationClockResource.cs
- Label.cs
- ConfigurationStrings.cs
- WindowsNonControl.cs
- SqlEnums.cs
- XmlUtf8RawTextWriter.cs
- IISMapPath.cs
- DbParameterCollectionHelper.cs
- Vector3DCollectionValueSerializer.cs
- ITextView.cs
- HttpResponseWrapper.cs
- CanonicalizationDriver.cs
- MarshalByRefObject.cs
- NativeWindow.cs
- SchemaTableColumn.cs
- Native.cs
- Token.cs
- EditorReuseAttribute.cs
- XmlSerializer.cs
- TreeViewImageKeyConverter.cs
- XmlFormatExtensionPointAttribute.cs
- Site.cs
- WindowsGraphicsWrapper.cs
- SignedPkcs7.cs
- InstanceOwnerQueryResult.cs
- Page.cs
- XmlAttributeOverrides.cs
- EntityDataSourceChangingEventArgs.cs
- XPathAxisIterator.cs
- FullTextLine.cs
- DPAPIProtectedConfigurationProvider.cs
- GlobalizationSection.cs
- CalculatedColumn.cs
- RemotingConfiguration.cs
- IntegrationExceptionEventArgs.cs
- RowToFieldTransformer.cs
- InputLangChangeEvent.cs
- MetadataProperty.cs
- StyleHelper.cs
- TcpConnectionPoolSettings.cs
- QueryStack.cs
- WindowsScrollBarBits.cs
- ObjectFullSpanRewriter.cs
- ApplicationManager.cs
- Cursors.cs
- ControlCachePolicy.cs
- AnnotationObservableCollection.cs