diff options
| author | mo.khan <mo.khan@a0a4a051-f042-0410-9e78-9fae330bdb64> | 2008-05-08 20:21:57 +0000 |
|---|---|---|
| committer | mo.khan <mo.khan@a0a4a051-f042-0410-9e78-9fae330bdb64> | 2008-05-08 20:21:57 +0000 |
| commit | aef1d30cc7ffaa7701fc7c530383fd15465fbbd5 (patch) | |
| tree | 79086f18b3182326de08e0b1045400730f1e190b /Sait/Cmpp299/Assignment1/trunk/src/app/Marina | |
| parent | 004893e4b8f610e9427f12dafd342b88aeb85d6f (diff) | |
added new version of nant.
git-svn-id: http://mokhan.googlecode.com/svn/trunk@27 a0a4a051-f042-0410-9e78-9fae330bdb64
Diffstat (limited to 'Sait/Cmpp299/Assignment1/trunk/src/app/Marina')
| -rw-r--r-- | Sait/Cmpp299/Assignment1/trunk/src/app/Marina/Presentation/PayloadKey.cs | 85 |
1 files changed, 44 insertions, 41 deletions
diff --git a/Sait/Cmpp299/Assignment1/trunk/src/app/Marina/Presentation/PayloadKey.cs b/Sait/Cmpp299/Assignment1/trunk/src/app/Marina/Presentation/PayloadKey.cs index b84fbf7..d4b31fb 100644 --- a/Sait/Cmpp299/Assignment1/trunk/src/app/Marina/Presentation/PayloadKey.cs +++ b/Sait/Cmpp299/Assignment1/trunk/src/app/Marina/Presentation/PayloadKey.cs @@ -1,45 +1,48 @@ using System;
using System.Collections.Specialized;
-namespace Marina.Presentation {
- public class PayloadKey< T > : IEquatable< PayloadKey< T > > {
- private readonly string _key;
-
- public PayloadKey( string key ) {
- _key = key;
- }
-
- public T ParseFrom( NameValueCollection payload ) {
- EnsureKeyIsInPayload( payload );
- return ( T )Convert.ChangeType( payload[ _key ], typeof( T ) );
- }
-
- private void EnsureKeyIsInPayload( NameValueCollection payload ) {
- if ( null == payload[ _key ] ) {
- throw new PayloadKeyNotFoundException( _key );
- }
- }
-
- public static implicit operator string( PayloadKey< T > item ) {
- return item._key;
- }
-
- public bool Equals( PayloadKey< T > payloadKey ) {
- if ( payloadKey == null ) {
- return false;
- }
- return Equals( _key, payloadKey._key );
- }
-
- public override bool Equals( object obj ) {
- if ( ReferenceEquals( this, obj ) ) {
- return true;
- }
- return Equals( obj as PayloadKey< T > );
- }
-
- public override int GetHashCode() {
- return _key.GetHashCode( );
- }
- }
+namespace Marina.Presentation
+{
+ public class PayloadKey< T > : IEquatable< PayloadKey< T > >
+ {
+ private readonly string _key;
+
+ public PayloadKey( string key )
+ {
+ _key = key;
+ }
+
+ public T ParseFrom( NameValueCollection payload )
+ {
+ EnsureKeyIsInPayload( payload );
+ return ( T )Convert.ChangeType( payload[ _key ], typeof( T ) );
+ }
+
+ private void EnsureKeyIsInPayload( NameValueCollection payload )
+ {
+ if( null == payload[ _key ] ) {
+ throw new PayloadKeyNotFoundException( _key );
+ }
+ }
+
+ public static implicit operator string( PayloadKey< T > item )
+ {
+ return item._key;
+ }
+
+ public bool Equals( PayloadKey< T > payloadKey )
+ {
+ return payloadKey != null && Equals( _key, payloadKey._key );
+ }
+
+ public override bool Equals( object obj )
+ {
+ return ReferenceEquals( this, obj ) || Equals( obj as PayloadKey< T > );
+ }
+
+ public override int GetHashCode( )
+ {
+ return _key.GetHashCode( );
+ }
+ }
}
\ No newline at end of file |
