Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- XhtmlBasicLinkAdapter.cs
- TextTreeRootTextBlock.cs
- GifBitmapDecoder.cs
- TerminatorSinks.cs
- SessionIDManager.cs
- Shared.cs
- PageRequestManager.cs
- PropertyTabAttribute.cs
- TypedTableBaseExtensions.cs
- ModuleConfigurationInfo.cs
- WbemProvider.cs
- ProxyElement.cs
- IsolatedStorageFile.cs
- ProbeMatchesMessageCD1.cs
- UIPermission.cs
- DropShadowEffect.cs
- ConstructorExpr.cs
- GraphicsContext.cs
- ClientProxyGenerator.cs
- AuthenticationModuleElementCollection.cs
- WindowsFormsHostPropertyMap.cs
- ClaimTypeRequirement.cs
- MsmqIntegrationProcessProtocolHandler.cs
- LocatorGroup.cs
- FormViewModeEventArgs.cs
- EntityContainer.cs
- SessionEndingEventArgs.cs
- NumericUpDownAccelerationCollection.cs
- KeyValueConfigurationElement.cs
- Span.cs
- SubstitutionResponseElement.cs
- AutomationEvent.cs
- GetWinFXPath.cs
- _AuthenticationState.cs
- Metafile.cs
- ControlValuePropertyAttribute.cs
- EmptyElement.cs
- ConstructorNeedsTagAttribute.cs
- PointAnimation.cs
- MappingItemCollection.cs
- ReadOnlyDictionary.cs
- StaticResourceExtension.cs
- Registry.cs
- WrappedKeySecurityTokenParameters.cs
- rsa.cs
- MonthCalendar.cs
- ServiceDescriptionContext.cs
- BooleanConverter.cs
- Margins.cs
- UserControlAutomationPeer.cs
- AutoResetEvent.cs
- MissingManifestResourceException.cs
- Crypto.cs
- ISAPIRuntime.cs
- CustomPopupPlacement.cs
- UnaryExpression.cs
- Deflater.cs
- ExpressionBinding.cs
- MarkupCompilePass2.cs
- RootProfilePropertySettingsCollection.cs
- HttpDebugHandler.cs
- SQLDateTimeStorage.cs
- StyleCollection.cs
- SiteMapDataSourceDesigner.cs
- ColumnClickEvent.cs
- ArrayExtension.cs
- TemplateControlBuildProvider.cs
- SystemInformation.cs
- DeploymentSection.cs
- TraceListener.cs
- VirtualPath.cs
- SubclassTypeValidator.cs
- Polygon.cs
- HostedNamedPipeTransportManager.cs
- HeaderUtility.cs
- URL.cs
- TreeNodeMouseHoverEvent.cs
- wgx_render.cs
- XmlNodeComparer.cs
- BaseResourcesBuildProvider.cs
- ButtonBase.cs
- ImmComposition.cs
- GlobalizationSection.cs
- DefaultSerializationProviderAttribute.cs
- DesignerVerb.cs
- QuaternionValueSerializer.cs
- DataPagerField.cs
- HelpInfo.cs
- XmlBinaryWriterSession.cs
- UrlAuthorizationModule.cs
- RSAOAEPKeyExchangeFormatter.cs
- WorkflowPersistenceContext.cs
- DiscriminatorMap.cs
- MatrixValueSerializer.cs
- TextEditorSpelling.cs
- FormatterConverter.cs
- GridPatternIdentifiers.cs
- KeyPullup.cs
- MatrixTransform.cs
- EntitySqlQueryState.cs