Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / ValueType.cs / 1 / ValueType.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: ValueType ** ** ** Purpose: Base class for all value classes. ** ** ===========================================================*/ namespace System { using System; using System.Reflection; using System.Runtime.CompilerServices; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public abstract class ValueType { public override bool Equals (Object obj) { BCLDebug.Perf(false, "ValueType::Equals is not fast. "+this.GetType().FullName+" should override Equals(Object)"); if (null==obj) { return false; } RuntimeType thisType = (RuntimeType)this.GetType(); RuntimeType thatType = (RuntimeType)obj.GetType(); if (thatType!=thisType) { return false; } Object thisObj = (Object)this; Object thisResult, thatResult; // if there are no GC references in this object we can avoid reflection // and do a fast memcmp if (CanCompareBits(this)) return FastEqualsCheck(thisObj, obj); FieldInfo[] thisFields = thisType.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); for (int i=0; i
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- VectorAnimationBase.cs
- ColorTransform.cs
- RecordManager.cs
- MouseActionValueSerializer.cs
- EditorBrowsableAttribute.cs
- ScrollBar.cs
- PointAnimationBase.cs
- KoreanCalendar.cs
- DataBoundControlParameterTarget.cs
- TimelineGroup.cs
- RowBinding.cs
- COM2PictureConverter.cs
- QilName.cs
- CodeSubDirectoriesCollection.cs
- DisableDpiAwarenessAttribute.cs
- ExpressionList.cs
- CounterSampleCalculator.cs
- XmlSchemaProviderAttribute.cs
- WebSysDefaultValueAttribute.cs
- ReflectionUtil.cs
- MessageQueuePermission.cs
- TypeToken.cs
- DataGridViewSelectedRowCollection.cs
- JobCollate.cs
- InvalidWorkflowException.cs
- TextModifier.cs
- SingleKeyFrameCollection.cs
- PaintValueEventArgs.cs
- FreezableDefaultValueFactory.cs
- HttpListenerException.cs
- GroupDescription.cs
- WebPartConnectVerb.cs
- UnSafeCharBuffer.cs
- XmlIlTypeHelper.cs
- TdsParserStateObject.cs
- exports.cs
- WebBrowsableAttribute.cs
- PointLightBase.cs
- XmlKeywords.cs
- ComPlusServiceLoader.cs
- WebCategoryAttribute.cs
- CompletedAsyncResult.cs
- TableLayoutPanelCellPosition.cs
- KeyEventArgs.cs
- ListManagerBindingsCollection.cs
- SamlSecurityTokenAuthenticator.cs
- FloaterBaseParagraph.cs
- IndicFontClient.cs
- OrthographicCamera.cs
- DataGridTableCollection.cs
- OutputBuffer.cs
- ClonableStack.cs
- _emptywebproxy.cs
- SafeIUnknown.cs
- SspiSafeHandles.cs
- AccessViolationException.cs
- SignatureGenerator.cs
- Vector3D.cs
- RandomNumberGenerator.cs
- DocobjHost.cs
- NotCondition.cs
- EntityDataSourceUtil.cs
- Int32RectConverter.cs
- SignatureConfirmationElement.cs
- MultiByteCodec.cs
- ConnectivityStatus.cs
- DataControlImageButton.cs
- WsdlWriter.cs
- SecurityPolicySection.cs
- DataColumnCollection.cs
- IIS7UserPrincipal.cs
- TimerElapsedEvenArgs.cs
- SerializationEventsCache.cs
- FilterQuery.cs
- XmlNullResolver.cs
- StorageModelBuildProvider.cs
- SequentialUshortCollection.cs
- ControllableStoryboardAction.cs
- baseshape.cs
- HandlerFactoryWrapper.cs
- JapaneseLunisolarCalendar.cs
- DetailsViewRowCollection.cs
- DeclarativeCatalogPart.cs
- Bold.cs
- QuaternionKeyFrameCollection.cs
- TextClipboardData.cs
- WebDescriptionAttribute.cs
- XmlSchemaImport.cs
- DataServiceRequestOfT.cs
- CDSsyncETWBCLProvider.cs
- ImageButton.cs
- PtsPage.cs
- SnapLine.cs
- BmpBitmapDecoder.cs
- ProfileEventArgs.cs
- DataGridViewRowsAddedEventArgs.cs
- ComponentManagerBroker.cs
- AtomParser.cs
- CompositeScriptReference.cs
- ForAllOperator.cs