Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScriptIgnoreAttribute.cs
- LocatorGroup.cs
- metadatamappinghashervisitor.cs
- TemplateControlCodeDomTreeGenerator.cs
- RuleProcessor.cs
- CommandEventArgs.cs
- RoleGroup.cs
- Messages.cs
- PlainXmlWriter.cs
- TextFormatterHost.cs
- GenericEnumerator.cs
- IntegerValidator.cs
- CloudCollection.cs
- TypeSystem.cs
- ReadOnlyCollectionBase.cs
- ModelUIElement3D.cs
- SpellerError.cs
- TemplateNodeContextMenu.cs
- Screen.cs
- ThreadLocal.cs
- DesignConnectionCollection.cs
- WebRequestModuleElementCollection.cs
- DataRow.cs
- TabPanel.cs
- RenderDataDrawingContext.cs
- Cursor.cs
- webclient.cs
- SequenceNumber.cs
- BaseTemplateBuildProvider.cs
- RowToParametersTransformer.cs
- OpCellTreeNode.cs
- EmbeddedMailObject.cs
- HtmlShim.cs
- ParameterReplacerVisitor.cs
- HttpServerUtilityBase.cs
- Button.cs
- UnauthorizedWebPart.cs
- CounterSampleCalculator.cs
- TemplateKeyConverter.cs
- InputReferenceExpression.cs
- DecoderFallbackWithFailureFlag.cs
- ActivityXRefConverter.cs
- InputLanguageCollection.cs
- InvokeGenerator.cs
- CompoundFileStreamReference.cs
- CompiledELinqQueryState.cs
- CodeSubDirectory.cs
- SimplePropertyEntry.cs
- AccessKeyManager.cs
- Calendar.cs
- EndpointAddress10.cs
- SqlMetaData.cs
- PrivilegeNotHeldException.cs
- RijndaelManaged.cs
- DetailsViewDesigner.cs
- TableLayoutPanel.cs
- CodeNamespaceCollection.cs
- OciLobLocator.cs
- UrlPropertyAttribute.cs
- ArrayItemReference.cs
- SafeFileMappingHandle.cs
- PropertyInformationCollection.cs
- NotEqual.cs
- PointAnimation.cs
- Transform3DCollection.cs
- XmlSequenceWriter.cs
- Win32Exception.cs
- Matrix3DValueSerializer.cs
- QilGeneratorEnv.cs
- CompleteWizardStep.cs
- HttpListenerResponse.cs
- UTF8Encoding.cs
- _SecureChannel.cs
- SafeWaitHandle.cs
- Compiler.cs
- ReliabilityContractAttribute.cs
- IPHostEntry.cs
- Error.cs
- Cell.cs
- DataFormat.cs
- StringConcat.cs
- OpCopier.cs
- MutexSecurity.cs
- ExpressionUtilities.cs
- DynamicPropertyHolder.cs
- SchemaInfo.cs
- CounterNameConverter.cs
- SubpageParagraph.cs
- SigningCredentials.cs
- WebPartMenu.cs
- ToolboxSnapDragDropEventArgs.cs
- Message.cs
- XPathDocumentIterator.cs
- HtmlPanelAdapter.cs
- UICuesEvent.cs
- SynchronizedInputHelper.cs
- DeclaredTypeElementCollection.cs
- ReflectEventDescriptor.cs
- CodeGeneratorOptions.cs
- Light.cs