public virtual ADODB.Properties ADODB.Properties { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(500)] get; }为什么c#编译的时候报告:修饰符“public”对该项无效
急,在线等

解决方案 »

  1.   

    namespace ADODB
    {
        using System;
        using System.Reflection;
        using System.Runtime.CompilerServices;
        using System.Runtime.InteropServices;    [ComImport, Guid("00000514-0000-0010-8000-00AA006D2EA4"), ClassInterface((short) 0), ComSourceInterfaces("ADODB.ConnectionEvents\0"), TypeLibType((short) 6), DefaultMember("ConnectionString")]
        public class ConnectionClass : _Connection, Connection, ConnectionEvents_Event
        {
         public event ConnectionEvents_BeginTransCompleteEventHandler BeginTransComplete;        public event ConnectionEvents_CommitTransCompleteEventHandler CommitTransComplete;        public event ConnectionEvents_ConnectCompleteEventHandler ConnectComplete;        public event ConnectionEvents_DisconnectEventHandler Disconnect;        public event ConnectionEvents_ExecuteCompleteEventHandler ExecuteComplete;        public event ConnectionEvents_InfoMessageEventHandler InfoMessage;        public event ConnectionEvents_RollbackTransCompleteEventHandler RollbackTransComplete;        public event ConnectionEvents_WillConnectEventHandler WillConnect;        public event ConnectionEvents_WillExecuteEventHandler WillExecute;        [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(7)]
            public virtual extern int BeginTrans();
            [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x15)]
            public virtual extern void Cancel();
            [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(5)]
            public virtual extern void Close();
            [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(8)]
            public virtual extern void CommitTrans();
            [return: MarshalAs(UnmanagedType.Interface)]
            [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(6)]
            public virtual extern Recordset Execute([In, MarshalAs(UnmanagedType.BStr)] string CommandText, [Optional, MarshalAs(UnmanagedType.Struct)] out object RecordsAffected, [In, Optional, DefaultParameterValue(-1)] int Options);
            [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(10)]
            public virtual extern void Open([In, Optional, DefaultParameterValue(""), MarshalAs(UnmanagedType.BStr)] string ConnectionString, [In, Optional, DefaultParameterValue(""), MarshalAs(UnmanagedType.BStr)] string UserID, [In, Optional, DefaultParameterValue(""), MarshalAs(UnmanagedType.BStr)] string Password, [In, Optional, DefaultParameterValue(-1)] int Options);
            [return: MarshalAs(UnmanagedType.Interface)]
            [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x13)]
            public virtual extern Recordset OpenSchema([In] SchemaEnum Schema, [In, Optional, MarshalAs(UnmanagedType.Struct)] object Restrictions, [In, Optional, MarshalAs(UnmanagedType.Struct)] object SchemaID);
            [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(9)]
            public virtual extern void RollbackTrans();[DispId(4)]
            public virtual string ADODB._Connection.Version { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(4)] get; }    //修饰符public对该项无效
    [DispId(0x3e8)]
            public virtual PositionEnum ADODB._Recordset.AbsolutePosition { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x3e8)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x3e8)] set; }   //修饰符public对该项无效   ....     
            
     [DispId(500)]
            public virtual ADODB.Properties Properties { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(500)] get; }    //正常... 
          }
        }
    }
      

  2.   

    public  ConnectionClass()
    {
    }
    加多这句上去看看!
      

  3.   

    你的意思是把 public class ConnectionClass : _Connection, Connection, ConnectionEvents_Event
    {
    }
    换成 public ConnectionClass : _Connection, Connection, ConnectionEvents_Event
    {
    }