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
- SourceItem.cs
- IdentifierService.cs
- WeakReference.cs
- KeyBinding.cs
- LambdaCompiler.cs
- UrlPath.cs
- FlowDocumentView.cs
- VectorCollectionValueSerializer.cs
- XmlStreamStore.cs
- DocumentPageTextView.cs
- TraceHwndHost.cs
- Rfc2898DeriveBytes.cs
- TargetFrameworkUtil.cs
- StateManagedCollection.cs
- WebPartEditVerb.cs
- OleDbEnumerator.cs
- PeerNodeAddress.cs
- MessageQueuePermissionEntryCollection.cs
- CachedTypeface.cs
- TraceSource.cs
- EpmSyndicationContentDeSerializer.cs
- Control.cs
- ProviderIncompatibleException.cs
- ScrollViewer.cs
- EntityStoreSchemaGenerator.cs
- SystemParameters.cs
- WCFModelStrings.Designer.cs
- ParserContext.cs
- ControlAdapter.cs
- SiteMapNodeItemEventArgs.cs
- TileBrush.cs
- BindingWorker.cs
- InstanceBehavior.cs
- FloaterParaClient.cs
- SaveWorkflowCommand.cs
- ScriptServiceAttribute.cs
- PEFileEvidenceFactory.cs
- DataGridViewComboBoxCell.cs
- ResolvedKeyFrameEntry.cs
- WindowsGraphicsCacheManager.cs
- DeclarativeConditionsCollection.cs
- DataBoundLiteralControl.cs
- SystemNetworkInterface.cs
- RootAction.cs
- DataColumn.cs
- WebPartDisplayModeCancelEventArgs.cs
- SecurityPolicySection.cs
- ConfigurationManagerInternalFactory.cs
- dsa.cs
- OracleColumn.cs
- PointIndependentAnimationStorage.cs
- DataGridTextBox.cs
- SerialStream.cs
- ClientUrlResolverWrapper.cs
- NativeMethods.cs
- ResourceFallbackManager.cs
- formatter.cs
- UnsafeNativeMethods.cs
- SingleKeyFrameCollection.cs
- IntegerValidatorAttribute.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- IisTraceListener.cs
- Error.cs
- TextSelectionHelper.cs
- LineBreakRecord.cs
- EntityCommandExecutionException.cs
- ReadOnlyKeyedCollection.cs
- ServicePointManagerElement.cs
- AnchorEditor.cs
- WebServiceMethodData.cs
- ModifierKeysConverter.cs
- ComboBoxRenderer.cs
- BinaryCommonClasses.cs
- LinqDataSourceContextEventArgs.cs
- PointKeyFrameCollection.cs
- AlgoModule.cs
- WebPartUserCapability.cs
- xmlfixedPageInfo.cs
- HttpListenerResponse.cs
- Message.cs
- SkinBuilder.cs
- GroupDescription.cs
- LineBreakRecord.cs
- Int64AnimationUsingKeyFrames.cs
- SendingRequestEventArgs.cs
- IndexerReference.cs
- TextFindEngine.cs
- DataServiceRequestOfT.cs
- ModulesEntry.cs
- XhtmlConformanceSection.cs
- TextChangedEventArgs.cs
- PropertyGroupDescription.cs
- CornerRadius.cs
- Constraint.cs
- PipelineDeploymentState.cs
- TextClipboardData.cs
- DataExpression.cs
- WorkflowView.cs
- keycontainerpermission.cs
- SiteMapDataSourceView.cs