0

C# プロジェクトで使用している VB.net で記述された基本クラスがあります。この基本クラスには、プロジェクトで値を与える必要があるいくつかのプロパティがあります。これらのプロパティの 1 つにアクセスする際に問題があります。次のように:

これは基本クラスで:

Public MustInherit Class FTPUploaderBase
{

 Private _protocol As FTPProtocol

  Protected Property Protocol() As FTPProtocol
    Get
        Return _protocol
    End Get
    Set(ByVal Value As FTPProtocol)
        _protocol = Value
    End Set
End Property



 Protected Enum FTPProtocol
    FTP = 1 'Standard FTP (port 21)
    SFTP = 2 'Secure FTP over SSH (port 22)
    FTPS = 3 'Secure FTP over Implicit SSL (port 990)
    FTPES = 4 'Secure FTP over Explicit SSL (port 21 - to forward to 443)
End Enum

 }

これは、その基本クラスから駆動された My C# クラスです。

 public class FTPUploadeClass:FTPUploader.FTPUploaderBase
{

 public FTPProtocol Protocol
  {
      get
      {
          return base.Protocol;
      }

      set
      {  
          base.Protocol = value;
      }

  }
    }

Protocol: Inconsistent accessibility: Property type'FTPUPloaded.FTPUplodedBase.FTPProtocol' is lessaccessible than property 'My base class name here' にこのエラーが表示されます

解決策: C# クラスのプロパティの名前を変更したところ、機能しました

4

2 に答える 2

1

列挙型が である理由はありprotectedますか?

FTPProtocol列挙型にするだけpublic

また、派生クラスのプロパティには、基本クラスと同じ名前を付けないでください。そのため、C# 派生クラスのプロパティの名前を 以外の名前に変更しますProtocol

于 2013-07-11T18:29:51.113 に答える
0

タイプ自体は、基本クラスから継承していないクラスには表示されないため、タイプでpublicプロパティを宣言することはできません。FTPProtocol

それを機能させるには、列挙型の可視性をに変更するpublicか、最初の列挙型にマップする 2 番目の列挙型を作成します (ただし、public ).

于 2013-07-11T18:52:53.197 に答える