众所周知使用如下格式:[ComVisble(true)]
class MyClass
{
}就自动实现了IDispatch但是我想要实现自己的IDispatch 
比如:class MyClass::IDispatch
{
   int IDispatch.Invoke(...)
   {
   }
   .....
}IDispatch的定义如下:
    [Guid("00020400-0000-0000-C000-000000000046")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IDispatch
    {
        [PreserveSig]
        int GetTypeInfoCount(out int Count);
        [PreserveSig]
        int GetTypeInfo([MarshalAs(UnmanagedType.U4)] int iTInfo,
        [MarshalAs(UnmanagedType.U4)] int lcid, out 
    System.Runtime.InteropServices.ComTypes.ITypeInfo typeInfo);
        [PreserveSig]
        int GetIDsOfNames(ref Guid riid,
            [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr)] 
        string[] rgsNames, int cNames, int lcid, [MarshalAs(UnmanagedType.LPArray)] int[] rgDispId);
        [PreserveSig]
        int Invoke(int dispIdMember, ref Guid riid, uint lcid, ushort wFlags,
            ref System.Runtime.InteropServices.ComTypes.DISPPARAMS pDispParams, out object pVarResult, ref 
        System.Runtime.InteropServices.ComTypes.EXCEPINFO
            pExcepInfo, IntPtr[] pArgErr);
    } 
编译没有错误,但是运行后,系统说这个对象不是一个IDispatch.对象
请问各位怎么办?
我迫切的需要自己实现Invoke.