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
- QueryCacheEntry.cs
- ContextMenu.cs
- TokenBasedSet.cs
- SchemaImporterExtensionElement.cs
- RedirectionProxy.cs
- QueryPageSettingsEventArgs.cs
- XmlDocumentFragment.cs
- CodeFieldReferenceExpression.cs
- SelectionProviderWrapper.cs
- SafeReadContext.cs
- PrimaryKeyTypeConverter.cs
- TableLayoutSettingsTypeConverter.cs
- CellConstant.cs
- FixedDocumentSequencePaginator.cs
- SecurityDocument.cs
- RecognizeCompletedEventArgs.cs
- FunctionQuery.cs
- SingleAnimationUsingKeyFrames.cs
- EntityDataSourceQueryBuilder.cs
- _IPv6Address.cs
- XmlSchemaAnyAttribute.cs
- ServiceNameElement.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- DbConnectionPool.cs
- LicenseContext.cs
- ByteFacetDescriptionElement.cs
- HttpWebResponse.cs
- HttpProfileBase.cs
- GlobalId.cs
- TreeNodeBinding.cs
- TypeToStringValueConverter.cs
- SmiRequestExecutor.cs
- DesignerAttributeInfo.cs
- _NestedMultipleAsyncResult.cs
- ToolStripLocationCancelEventArgs.cs
- Vector3D.cs
- NotSupportedException.cs
- DefaultTypeArgumentAttribute.cs
- securitymgrsite.cs
- ListenerConnectionModeReader.cs
- OleDbException.cs
- HTMLTagNameToTypeMapper.cs
- SerialPinChanges.cs
- GridViewDeleteEventArgs.cs
- DataTableMappingCollection.cs
- AssemblyUtil.cs
- DynamicUpdateCommand.cs
- GiveFeedbackEvent.cs
- SafeNativeMethodsOther.cs
- HttpCachePolicyBase.cs
- Operator.cs
- DataAccessException.cs
- QueryAsyncResult.cs
- AttachInfo.cs
- EntitySetBase.cs
- Message.cs
- CatalogZone.cs
- XmlText.cs
- DataGridViewCellLinkedList.cs
- PropertyGrid.cs
- StateMachine.cs
- EmptyEnumerable.cs
- Mutex.cs
- NetPeerTcpBinding.cs
- _CacheStreams.cs
- SamlAudienceRestrictionCondition.cs
- Missing.cs
- StickyNoteContentControl.cs
- EditorZoneDesigner.cs
- EncodingInfo.cs
- GridViewDeleteEventArgs.cs
- AtomMaterializer.cs
- XmlAttributeOverrides.cs
- XmlSchemaAll.cs
- Context.cs
- DataGridViewLayoutData.cs
- GridViewDeletedEventArgs.cs
- WindowsTokenRoleProvider.cs
- EmbeddedObject.cs
- FloaterBaseParagraph.cs
- WorkflowDesignerMessageFilter.cs
- CssStyleCollection.cs
- WindowsTokenRoleProvider.cs
- WebConfigurationHost.cs
- CompositeScriptReference.cs
- DiscoveryMessageSequence.cs
- TextServicesPropertyRanges.cs
- SvcMapFileSerializer.cs
- MemberAccessException.cs
- FrameworkElementAutomationPeer.cs
- SortDescriptionCollection.cs
- DataSourceXmlClassAttribute.cs
- XsdDateTime.cs
- Transform3D.cs
- WorkflowMessageEventHandler.cs
- SchemaImporter.cs
- SqlNotificationRequest.cs
- AssociationEndMember.cs
- RichListBox.cs
- MemoryMappedView.cs