![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
![]() |
| |
| | #1 (permalink) |
| | Equivalent of template specialization using .NET Generics? I know that template specializtion is not included in generics, but was wondering whether or not there is an elegant alternative? The first function is always called, but I was hoping that for instances of type RealPoint (ComparePointByFiaNumber<RealPoint)>) the second function would be called. To implement different behavious based upon the type, do I have to have a switch within Equals() that will check the type of T and then call different functions as needed? Many thanks, Duncan generic<typename T> ref class ComparePointByFiaNumber : Generic::IEqualityComparer<T> { public: virtual bool Equals( T x, T y ) { Generic::IEqualityComparer<T>^ equalityComparer = Generic::EqualityComparer<T>: efault;return equalityComparer->Equals( x,y ); } virtual bool Equals( RealPoint^ x, RealPoint^ y ) { return true; } |
My System Specs![]() |
| | #2 (permalink) |
| | Re: Equivalent of template specialization using .NET Generics? On May 8, 1:16*pm, Duncan Smith <DSmith1...@xxxxxx> wrote: Quote: > I know that template specializtion is not included in generics, but > was wondering whether or not there is an elegant alternative? > generic<typename T> ref class ComparePointByFiaNumber : Generic::IEqualityComparer<T> { public: virtual bool Equals( T x, T y ) { if( x->GetType() == RealPoint::typeid ) { return safe_cast<RealPoint^>(x)->First == safe_cast<RealPoint^>(y)->First; } Generic::IEqualityComparer<T>^ equalityComparer = Generic::EqualityComparer<T>: efault;return equalityComparer->Equals( x,y ); } virtual int GetHashCode( T obj ) { return 0; } }; |
My System Specs![]() |
![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
| Generics and collections | .NET General | |||
| Re: Generics and comparison (follow on from my previous "Generics and collections" thread) | .NET General | |||
| Re: Generics and comparison (follow on from my previous "Generics and collections" thread) | .NET General | |||
| Checking for DBNull with generics | .NET General | |||