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
- DefaultTextStoreTextComposition.cs
- SystemWebSectionGroup.cs
- CultureInfo.cs
- ListCommandEventArgs.cs
- FactoryGenerator.cs
- DynamicDataRouteHandler.cs
- SecurityException.cs
- SignedXml.cs
- SafeUserTokenHandle.cs
- SmtpDigestAuthenticationModule.cs
- VarRefManager.cs
- InputScopeConverter.cs
- ButtonColumn.cs
- TypeReference.cs
- FixedNode.cs
- FontDifferentiator.cs
- Panel.cs
- CommonObjectSecurity.cs
- SqlMethodTransformer.cs
- SymbolDocumentGenerator.cs
- CollectionBuilder.cs
- InternalConfigSettingsFactory.cs
- OutputCacheSection.cs
- GifBitmapDecoder.cs
- ProfileWorkflowElement.cs
- __Filters.cs
- SymbolUsageManager.cs
- ConnectionOrientedTransportBindingElement.cs
- RectangleHotSpot.cs
- _NetworkingPerfCounters.cs
- DecoderReplacementFallback.cs
- JavaScriptString.cs
- IntegerValidatorAttribute.cs
- Constraint.cs
- HtmlForm.cs
- ShapeTypeface.cs
- SqlStatistics.cs
- EDesignUtil.cs
- SizeAnimation.cs
- DefaultValueAttribute.cs
- Main.cs
- UpdatePanelTriggerCollection.cs
- Attribute.cs
- InstanceLockQueryResult.cs
- WindowInteractionStateTracker.cs
- AuthenticateEventArgs.cs
- CertificateManager.cs
- TemplateBamlTreeBuilder.cs
- ISFTagAndGuidCache.cs
- OutputScopeManager.cs
- RuntimeCompatibilityAttribute.cs
- SafeNativeMethods.cs
- DataSourceConverter.cs
- remotingproxy.cs
- StorageRoot.cs
- ProfileService.cs
- PixelShader.cs
- IsolatedStorageFile.cs
- Closure.cs
- DataServiceQueryProvider.cs
- SamlSubjectStatement.cs
- WebSysDefaultValueAttribute.cs
- DockEditor.cs
- CharAnimationUsingKeyFrames.cs
- PackageDigitalSignature.cs
- DockPanel.cs
- FormViewModeEventArgs.cs
- MetaModel.cs
- UnSafeCharBuffer.cs
- PhysicalFontFamily.cs
- Overlapped.cs
- GenericUriParser.cs
- ContentType.cs
- MethodCallConverter.cs
- ActiveDocumentEvent.cs
- PowerStatus.cs
- WebPartCloseVerb.cs
- LocalFileSettingsProvider.cs
- XmlMtomReader.cs
- AttributeConverter.cs
- TextTreePropertyUndoUnit.cs
- DesignerVerbToolStripMenuItem.cs
- SpecularMaterial.cs
- SizeAnimationUsingKeyFrames.cs
- SimplePropertyEntry.cs
- TransformValueSerializer.cs
- TextEffectCollection.cs
- TextPattern.cs
- FileNotFoundException.cs
- CompositeDuplexBindingElementImporter.cs
- RenderCapability.cs
- CheckedPointers.cs
- Byte.cs
- SkewTransform.cs
- DependencyPropertyHelper.cs
- WindowsStartMenu.cs
- Resources.Designer.cs
- DesignerOptionService.cs
- CompiledQueryCacheEntry.cs
- XamlSerializerUtil.cs