Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- CommunicationObjectManager.cs
- RelationshipConverter.cs
- QueryResults.cs
- ValidationSettings.cs
- MessageSecurityProtocol.cs
- PropertyItemInternal.cs
- WebBrowserEvent.cs
- EntityCollection.cs
- TransformerInfoCollection.cs
- RangeValuePattern.cs
- CompilationLock.cs
- PropertyConverter.cs
- XpsDocument.cs
- StickyNoteContentControl.cs
- ToolStripDropDownClosedEventArgs.cs
- FormsIdentity.cs
- AutomationPeer.cs
- ProfileGroupSettings.cs
- MergeLocalizationDirectives.cs
- PublisherIdentityPermission.cs
- DataGridViewControlCollection.cs
- hresults.cs
- MultipartIdentifier.cs
- EarlyBoundInfo.cs
- DataGridViewCellLinkedList.cs
- ColorConvertedBitmap.cs
- ImageSourceConverter.cs
- OrderedDictionaryStateHelper.cs
- BooleanToVisibilityConverter.cs
- ExpandCollapsePattern.cs
- ProcessModelInfo.cs
- CaretElement.cs
- sqlstateclientmanager.cs
- MasterPageParser.cs
- Manipulation.cs
- Transform.cs
- UserControlParser.cs
- ProtocolInformationReader.cs
- TypeInitializationException.cs
- AsyncOperationManager.cs
- RadioButtonList.cs
- HostVisual.cs
- TextPenaltyModule.cs
- PriorityRange.cs
- RoutedEventArgs.cs
- XmlAttributeCollection.cs
- NotifyInputEventArgs.cs
- PresentationSource.cs
- TextTreeDeleteContentUndoUnit.cs
- ConfigurationValues.cs
- columnmapfactory.cs
- ServiceReflector.cs
- ValueOfAction.cs
- CodeVariableReferenceExpression.cs
- M3DUtil.cs
- ItemsControlAutomationPeer.cs
- LocalizationComments.cs
- EntityTypeEmitter.cs
- PropertyIDSet.cs
- SymmetricAlgorithm.cs
- ZipIOLocalFileBlock.cs
- SerializationAttributes.cs
- PerfCounters.cs
- DbXmlEnabledProviderManifest.cs
- SuspendDesigner.cs
- HtmlInputReset.cs
- FormsAuthenticationUserCollection.cs
- Exceptions.cs
- TextTreeRootTextBlock.cs
- MD5CryptoServiceProvider.cs
- EntityRecordInfo.cs
- BamlRecords.cs
- LabelAutomationPeer.cs
- SecurityElement.cs
- ZoneIdentityPermission.cs
- ThrowHelper.cs
- BevelBitmapEffect.cs
- ToolStripItemEventArgs.cs
- DataListItemCollection.cs
- QilExpression.cs
- SafeRsaProviderHandle.cs
- BitVec.cs
- IImplicitResourceProvider.cs
- IEnumerable.cs
- ResourceDisplayNameAttribute.cs
- StatusBar.cs
- AutoResetEvent.cs
- URLIdentityPermission.cs
- AppDomain.cs
- GeometryCombineModeValidation.cs
- HelpEvent.cs
- OracleConnection.cs
- codemethodreferenceexpression.cs
- QualifiedCellIdBoolean.cs
- AxisAngleRotation3D.cs
- SoapReflectionImporter.cs
- SqlRowUpdatingEvent.cs
- Material.cs
- MethodSignatureGenerator.cs
- GZipObjectSerializer.cs