Hi!

> I don't have any other idea, but I thought that maybe instead of doing:
> 
> <snip>
> my_method = t.GetMethod("MGetPosts");
> object retVal = my_method.Invoke(activator,
>                                 BindingFlags.Instance |
>                               BindingFlags.NonPublic |
>                               BindingFlags.InvokeMethod,
>                                 null,
>                                 new Object[]{3, user},
>                                 null);
> </snip>
> 
> You could do:
> 
>       IPluging p = (IPlugin)t;
>       object retVal = p.MGetPosts(3, user);

Sounds great, I tried what you said with two assemblies: one is the
Structs.dll (*Struct.cs) and the other Plugin.dll (Plugin.cs and the
interface IPlugin.cs), then I compiled MyApp with

mcs MyApp.cs -r Structs.dll

And then tried to cast it, and it fails:

Test7.cs(20) error CS0246: Cannot find type `IPlugin'

Also I did a Console.WriteLine to 't' (Type) and prints
MBloggy.Plugins.IPlugin.

Seems that I can't cast an interface, or what I'm doing wrong?.

 Assembly a;
 Type t;
 MethodInfo my_method;

 a = Assembly.LoadFrom("BloggerPlugin.dll");
 t = a.GetType("MBloggy.Plugins.IPlugin");
 Console.WriteLine(t);

As I said, I'm testing what you suggested, but with Reflections the
plugins are working great!

Thanks
Pablo
-- 
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