Code:
/ FX-1434 / FX-1434 / 1.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
- ICspAsymmetricAlgorithm.cs
- TemplateInstanceAttribute.cs
- Rotation3D.cs
- InvokePatternIdentifiers.cs
- MasterPageParser.cs
- TypeBuilderInstantiation.cs
- ScrollBarAutomationPeer.cs
- InstanceDataCollection.cs
- AttachedPropertyMethodSelector.cs
- BitmapEffectDrawingContent.cs
- DivideByZeroException.cs
- KeyToListMap.cs
- NativeMethods.cs
- ValidationResult.cs
- RangeEnumerable.cs
- CodeDirectoryCompiler.cs
- SmtpNegotiateAuthenticationModule.cs
- PointCollectionConverter.cs
- QueryOperationResponseOfT.cs
- RegistryPermission.cs
- MachineKey.cs
- WebPartDisplayModeEventArgs.cs
- FormClosedEvent.cs
- WebScriptEnablingElement.cs
- ProgressBarBrushConverter.cs
- ReachDocumentSequenceSerializerAsync.cs
- StylusPointProperties.cs
- IndexerNameAttribute.cs
- NamespaceQuery.cs
- ScriptIgnoreAttribute.cs
- DateTimeConstantAttribute.cs
- RunWorkerCompletedEventArgs.cs
- BitArray.cs
- SimpleBitVector32.cs
- LambdaCompiler.cs
- figurelengthconverter.cs
- Single.cs
- UnaryNode.cs
- OdbcReferenceCollection.cs
- BindingMAnagerBase.cs
- FilteredAttributeCollection.cs
- DBNull.cs
- ConnectionsZoneAutoFormat.cs
- ZoomingMessageFilter.cs
- TreeViewHitTestInfo.cs
- ValueUtilsSmi.cs
- SharedPersonalizationStateInfo.cs
- TransformGroup.cs
- XmlElementCollection.cs
- KeyboardDevice.cs
- CapacityStreamGeometryContext.cs
- Subtree.cs
- KerberosReceiverSecurityToken.cs
- CompiledRegexRunner.cs
- TokenDescriptor.cs
- WindowsTokenRoleProvider.cs
- GeneralTransformCollection.cs
- Size3DValueSerializer.cs
- CatchBlock.cs
- XmlnsCache.cs
- EventTrigger.cs
- CodeBinaryOperatorExpression.cs
- BindingContext.cs
- ProxyWebPart.cs
- CustomWebEventKey.cs
- DataColumn.cs
- RoleGroup.cs
- AddInToken.cs
- ContextMenuStrip.cs
- DeviceContexts.cs
- ReflectionUtil.cs
- RemoveFromCollection.cs
- UpdatePanelTriggerCollection.cs
- DataKey.cs
- IndentTextWriter.cs
- ValueType.cs
- DataExpression.cs
- PersonalizationEntry.cs
- NativeCppClassAttribute.cs
- UnicodeEncoding.cs
- PrintDialogException.cs
- FormViewRow.cs
- CompilationSection.cs
- DbParameterHelper.cs
- User.cs
- ColumnTypeConverter.cs
- CodeMemberMethod.cs
- RegionIterator.cs
- PageSettings.cs
- FormView.cs
- sqlinternaltransaction.cs
- RegistryExceptionHelper.cs
- LinqDataSourceInsertEventArgs.cs
- ExpressionList.cs
- PropertyPath.cs
- TransactionalPackage.cs
- ByteKeyFrameCollection.cs
- NameValueFileSectionHandler.cs
- KeySplineConverter.cs
- StylusSystemGestureEventArgs.cs