Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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
- WebPartConnectVerb.cs
- ProtectedConfiguration.cs
- XmlC14NWriter.cs
- SafeCertificateContext.cs
- PositiveTimeSpanValidator.cs
- SetterTriggerConditionValueConverter.cs
- BindingMemberInfo.cs
- XmlUtil.cs
- NetNamedPipeBinding.cs
- NumericExpr.cs
- SizeConverter.cs
- ButtonFlatAdapter.cs
- DynamicMetaObject.cs
- DesignerHelpers.cs
- TdsParserSafeHandles.cs
- XmlMemberMapping.cs
- DataGridViewComboBoxEditingControl.cs
- XmlILOptimizerVisitor.cs
- TraceContextRecord.cs
- CLSCompliantAttribute.cs
- DataGridTextBox.cs
- ZipFileInfo.cs
- WebMessageEncodingElement.cs
- PatternMatcher.cs
- HyperLinkStyle.cs
- LogWriteRestartAreaAsyncResult.cs
- SafeNativeMemoryHandle.cs
- DictionarySectionHandler.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- OperatingSystemVersionCheck.cs
- HtmlControlPersistable.cs
- ProfileServiceManager.cs
- _NestedSingleAsyncResult.cs
- DeriveBytes.cs
- AttributeSetAction.cs
- MasterPageBuildProvider.cs
- SchemaElementDecl.cs
- QueryCursorEventArgs.cs
- TableHeaderCell.cs
- XPathNodeList.cs
- ServerIdentity.cs
- ValidationErrorEventArgs.cs
- MemoryResponseElement.cs
- contentDescriptor.cs
- HtmlTableCellCollection.cs
- SizeChangedInfo.cs
- NativeMethods.cs
- QilExpression.cs
- PolicyFactory.cs
- datacache.cs
- OrderPreservingSpoolingTask.cs
- SmiRequestExecutor.cs
- DataGridViewDataErrorEventArgs.cs
- GridEntry.cs
- DateTimeFormatInfo.cs
- ComAdminInterfaces.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- CustomValidator.cs
- RestHandler.cs
- ColorBlend.cs
- _SpnDictionary.cs
- DataGridView.cs
- SspiSafeHandles.cs
- ProgressBar.cs
- DoubleCollectionValueSerializer.cs
- OletxTransactionManager.cs
- XPathArrayIterator.cs
- UnderstoodHeaders.cs
- CompareValidator.cs
- LinqDataSourceView.cs
- ListViewGroupConverter.cs
- AppDomainCompilerProxy.cs
- DLinqColumnProvider.cs
- HttpResponseInternalWrapper.cs
- DataGridCellsPresenter.cs
- VectorCollectionValueSerializer.cs
- RightsManagementProvider.cs
- ExternalFile.cs
- unsafeIndexingFilterStream.cs
- ToolStripComboBox.cs
- XhtmlTextWriter.cs
- wmiprovider.cs
- ToolStripItemGlyph.cs
- EventHandlers.cs
- ArgumentValidation.cs
- ThumbButtonInfo.cs
- RightsManagementEncryptionTransform.cs
- MachineKeySection.cs
- InfoCardListRequest.cs
- WindowsEditBox.cs
- FixedSOMLineRanges.cs
- ActiveXSerializer.cs
- InternalConfigSettingsFactory.cs
- XmlSchemaSearchPattern.cs
- ValidationHelper.cs
- PreviewPrintController.cs
- GridViewAutomationPeer.cs
- Tablet.cs
- Debug.cs
- TagMapCollection.cs