C# Class SharpArch.Domain.DomainModel.BaseObject

Mostrar archivo Open project: sharparchitecture/Sharp-Architecture Class Usage Examples

Public Methods

Method Description
Equals ( object obj ) : bool

Determines whether the specified System.Object is equal to this instance.

GetHashCode ( ) : int

Returns a hash code for this instance.

This is used to provide the hash code identifier of an object using the signature properties of the object; although it's necessary for NHibernate's use, this can also be useful for business logic purposes and has been included in this base class, accordingly. Since it is recommended that GetHashCode change infrequently, if at all, in an object's lifetime, it's important that properties are carefully selected which truly represent the signature of an object.

GetSignatureProperties ( ) : System.Reflection.PropertyInfo[]

Returns the properties of the current object that make up the object's signature.

HasSameObjectSignatureAs ( BaseObject compareTo ) : bool

Determines whether the current object has the same object signature as the specified object.

You may override this method to provide your own comparison routine.

Protected Methods

Method Description
GetTypeUnproxied ( ) : Type

Returns the unproxied type of the current object.

When NHibernate proxies objects, it masks the type of the actual entity object. This wrapper burrows into the proxied object to get its actual type.

Although this assumes NHibernate is being used, it doesn't require any NHibernate related dependencies and has no bad side effects if NHibernate isn't being used.

Related discussion is at http://groups.google.com/group/sharp-architecture/browse_thread/thread/ddd05f9baede023a ...thanks Jay Oliver!

Private Methods

Method Description
GetOrAdd ( Type type ) : TypePropertyDescriptor
GetTypeSpecificSignatureProperties ( ) : System.Reflection.PropertyInfo[]

Method Details

Equals() public method

Determines whether the specified System.Object is equal to this instance.
public Equals ( object obj ) : bool
obj object The to compare with the current .
return bool

GetHashCode() public method

Returns a hash code for this instance.
This is used to provide the hash code identifier of an object using the signature properties of the object; although it's necessary for NHibernate's use, this can also be useful for business logic purposes and has been included in this base class, accordingly. Since it is recommended that GetHashCode change infrequently, if at all, in an object's lifetime, it's important that properties are carefully selected which truly represent the signature of an object.
public GetHashCode ( ) : int
return int

GetSignatureProperties() public method

Returns the properties of the current object that make up the object's signature.
public GetSignatureProperties ( ) : System.Reflection.PropertyInfo[]
return System.Reflection.PropertyInfo[]

GetTypeUnproxied() protected method

Returns the unproxied type of the current object.

When NHibernate proxies objects, it masks the type of the actual entity object. This wrapper burrows into the proxied object to get its actual type.

Although this assumes NHibernate is being used, it doesn't require any NHibernate related dependencies and has no bad side effects if NHibernate isn't being used.

Related discussion is at http://groups.google.com/group/sharp-architecture/browse_thread/thread/ddd05f9baede023a ...thanks Jay Oliver!

protected GetTypeUnproxied ( ) : Type
return System.Type

HasSameObjectSignatureAs() public method

Determines whether the current object has the same object signature as the specified object.
You may override this method to provide your own comparison routine.
public HasSameObjectSignatureAs ( BaseObject compareTo ) : bool
compareTo BaseObject The object to compare to.
return bool