可访问性不一致:参数类型比方法更难访问

时间:2015-04-16 02:38:15

标签: c#

获得以下错误。我点击第一张表格上的按钮后试图跳转到新表格。我需要传递一个类对象列表。

  

错误1可访问性不一致:参数类型   ' System.Collections.Generic.List'   比方法更难获得   ' Preferred_Customer.AddCustomer.AddCustomer(System.Collections.Generic.List)' C:\用户\罗恩\文档\ Visual   Studio 2013 \ Projects \ Preferred Customer \ Preferred   Customer \ AddCustomer.cs 18 16首选客户

以下是创建表单的代码;

private void addCustomerButton_Click(object sender, EventArgs e)
{
   AddCustomer myAddCustomer = new AddCustomer(preferredCustomerList);
   myAddCustomer.ShowDialog();
}

以下是AddCustomer的代码;

namespace Preferred_Customer
{
public partial class AddCustomer : Form
{
    private List<PreferredCustomer> addCustomerList;

    public AddCustomer(List<PreferredCustomer> inPreferredCustomerList)
    {
        InitializeComponent();
        addCustomerList = inPreferredCustomerList;

    }

有人能说出我失踪的东西吗?

2 个答案:

答案 0 :(得分:2)

PrefferedCustomer从内部更改为公共。 (我猜PrefferedCustomer是内部的,除非在另一个类声明中) 或者将AddCustomer更改为internal以匹配辅助功能级别

 internal partial class AddCustomer : Form

答案 1 :(得分:1)

此错误来自于尝试在更高级别的类中公开类型&#34;打开&#34;而不是宣布的那个。例如:

internal interface ISomethingManager {
  // ...
}

public interface IDoSomething {
  public void DoSomething( ISomethingManager manager );
}

在此示例中,ISomethingManager是内部的,但您将其作为公共IDoSomething中的方法参数公开。如果另一个程序集想要调用IDoSomething.DoSomething(),则需要知道ISomethingManager,这在内部时是不可能的。