Thanks!

However, I think the best idea is to use generic Exceptions, if I try to
use the CookComputing.XmlRpc Exceptions I need to compile ALL my
application with CookComputing.dll and I'm not looking that, that's why
I'm working with plugins to just compile CookComputing.XmlRpc in the
plugins and not in all the application.

Thanks for these suggestions!
Pablo


El mar, 29-06-2004 a las 09:06, Arild Fines escribió:
> [EMAIL PROTECTED] wrote:
> > Cool! Thanks!
> >
> > Now, how can I get sure that the InnerException is a
> > XmlRpcFaultException or a XmlRpcMissedSomething?, I'm trying with this:
> >
> > } catch(TargetInvocationException e) {
> >    if(e.InnerException.GetType().ToString() ==
> > "CookComputing.XmlRpc.XmlRpcFaultException") {
> >    Console.WriteLine("yes");
> > }
> >
> > But I don't think it's the correct way/code, any suggestions?
> 
> You might want to take advantage of the fact that Type.InvokeMember actually
> performs virtual dispatch based on the runtime type of the object *AND* all
> of the parameters, IE, it performs double/triple/ntuple dispatch.
> 
> That means the following will work the way you want it to:
> 
> catch( TargetInvocationException e )
> {
>       Type t = this.GetType();
>       t.InvokeMember( "HandleException", BindingFlags.InvokeMethod |
>               BindingFlags.Instance | BindingFlags.NonPublic, null,
>             this, new object[]{ e } );
> }
> 
> // ...
> 
> private void HandleException( CookComputing.XmlRpc.XmlRpcFaultException e )
> {
>    //...
> }
> 
> private void HandleException( FooException e )
> {
>    //...
> }
> 
> private void HandleException( Exception e )
> {
>    // called if there are no other matching signatures
> }
> 
> Of course, it isn't particularly fast...
> 
> --
> Arild
> 
> AnkhSVN: http://ankhsvn.tigris.org
> Blog: http://ankhsvn.com/blog
> IRC: irc://irc.freenode.net/ankhsvn
> 
> "Weaseling out of things is good. It's what separates us from the other
> animals....except weasels." -- Homer Simpson
-- 
Pablo Fischer Sandoval (pablo [arroba/at] pablo.com.mx)
Fingerprint:  5973 0F10 543F 54AE 1E41  EC81 0840 A10A 74A4 E5C0
http://www.pablo.com.mx 
http://www.debianmexico.org

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente

Reply via email to