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 / ValueType.cs / 2 / 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
- LZCodec.cs
- LinearGradientBrush.cs
- Inline.cs
- ArraySet.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- ConfigXmlElement.cs
- CodeExpressionStatement.cs
- DataGridViewButtonColumn.cs
- Normalization.cs
- StringDictionaryCodeDomSerializer.cs
- XmlSchemaComplexContent.cs
- Hash.cs
- VectorAnimationUsingKeyFrames.cs
- AlternateView.cs
- ThreadInterruptedException.cs
- DataKeyArray.cs
- ProcessThreadCollection.cs
- TypePropertyEditor.cs
- CacheHelper.cs
- Activity.cs
- WebServiceEnumData.cs
- ScriptHandlerFactory.cs
- UrlPath.cs
- RemoteWebConfigurationHostStream.cs
- DefaultEvaluationContext.cs
- EDesignUtil.cs
- UIElement.cs
- ViewService.cs
- KnownTypesHelper.cs
- MeasurementDCInfo.cs
- RowToFieldTransformer.cs
- GlobalEventManager.cs
- DefaultWorkflowTransactionService.cs
- Rotation3DAnimationUsingKeyFrames.cs
- DecimalAverageAggregationOperator.cs
- XmlCharCheckingWriter.cs
- AccessedThroughPropertyAttribute.cs
- TokenFactoryCredential.cs
- CodeObjectCreateExpression.cs
- SRDisplayNameAttribute.cs
- UpDownBase.cs
- XmlSchemas.cs
- TextServicesHost.cs
- ManifestResourceInfo.cs
- SizeKeyFrameCollection.cs
- JoinCqlBlock.cs
- Update.cs
- ReadOnlyCollection.cs
- AttributeCollection.cs
- TaskFormBase.cs
- BlobPersonalizationState.cs
- EntryPointNotFoundException.cs
- DataGridCommandEventArgs.cs
- BitmapEffectState.cs
- mactripleDES.cs
- DeferredReference.cs
- DataSourceSelectArguments.cs
- FileStream.cs
- SchemeSettingElement.cs
- BaseHashHelper.cs
- ClaimComparer.cs
- XmlCharacterData.cs
- SystemThemeKey.cs
- RevocationPoint.cs
- FileDialog_Vista.cs
- SpecularMaterial.cs
- UInt32Storage.cs
- ApplicationProxyInternal.cs
- SimpleType.cs
- SendMessageContent.cs
- SerializationFieldInfo.cs
- HelpFileFileNameEditor.cs
- DataReceivedEventArgs.cs
- XamlNamespaceHelper.cs
- AxHost.cs
- DbDataRecord.cs
- RangeExpression.cs
- Executor.cs
- HttpRequest.cs
- DnsPermission.cs
- RuntimeConfigLKG.cs
- DataGridViewAccessibleObject.cs
- DataServiceContext.cs
- DataAccessor.cs
- SHA512CryptoServiceProvider.cs
- HandleCollector.cs
- SuppressIldasmAttribute.cs
- CodeParameterDeclarationExpression.cs
- CompositeScriptReference.cs
- KeyPressEvent.cs
- ApplicationHost.cs
- InkCanvas.cs
- SystemIcmpV6Statistics.cs
- XsdValidatingReader.cs
- input.cs
- SQLInt64Storage.cs
- ExpressionConverter.cs
- PageRanges.cs
- EntryWrittenEventArgs.cs
- UserControl.cs