1. ホーム
  2. その他

[解決済み] [Solved] Inconsistent Accessibility: パラメータ型はメソッドよりアクセスしにくい

2022-01-17 01:47:29

質問

2つのフォーム間でオブジェクト(基本的には現在ログオンしているユーザーへの参照)を受け渡しようとしています。 今のところ、ログインフォームに以下のようなものがあります。

private ACTInterface oActInterface;

public void button1_Click(object sender, EventArgs e)
    {
        oActInterface = new ACTInterface(@"\\actserver\Database\Premier.pad",this.textUser.Text,this.textPass.Text);

        if (oActInterface.checkLoggedIn())
        {
            //user has authed against ACT, so we can carry on
            clients oClientForm = new clients(oActInterface);
            this.Hide();
            oClientForm.Show();
        }
        else...

を、次のフォーム(クライアント)に持っています。

public partial class clients : Form
{
    private ACTInterface oActInt {get; set;}

    public clients(ACTInterface _oActInt)

...その結果、私はこうなりました。

Error   1   Inconsistent accessibility: 
parameter type 'support.ACTInterface' is less accessible than method    
'support.clients.clients(support.ACTInterface)'  
c:\work\net\backup\support\support\clients.cs   20  16  support

両方のフィールドはプライベートであり、フォームから関連するパブリックメソッドでアクセスできます。 ググっても、片方の要素がpublicでもう片方がprivateであることを指摘されるだけで、実際にはそうではないので、あまり役に立ちません。

どなたか教えてください。

解決方法は?

のコンストラクタは public クラス clientspublic というタイプのパラメータを持っていますが ACTInterface というのは private (クラスの中にネストされている?)。そんなのダメでしょう。を作る必要があります。 ACTInterface と同じように、少なくとも clients .