参数比方法更难访问
我正在尝试将列表从一个表单类传递到另一个表单类。 这是代码:
List myArgus = new List(); private void btnLogin_Click(object sender, EventArgs e) { // Get the selected branch name string selectedBranch = lbBranches.SelectedItem.ToString(); for (int i = 0; i < myArgus.Count; i++) { if (myArgus[i]._branchName == selectedBranch) { // Open the BranchOverview form BranchOverview branchOverview = new BranchOverview(myArgus[i]); branchOverview.Show(); } else { // Branch doesn't exist for some reason } } }
然后在我的BranchOverview
类中:
List branch = new List(); public BranchOverview(List myArgus) { InitializeComponent(); branch = myArgus; }
当我运行代码时,我收到此错误:
Inconsistent accessibility: parameter type 'System.Collections.Generic.List' is less accessible than method 'Argus.BranchOverview.BranchOverview(System.Collections.Generic.List)'
您必须声明Branch
是公开的:
public class Branch { . . . }
正如错误消息所示,方法的所有参数的类型必须至少与方法本身一样可访问。
如果要将Branch
类用作公共方法中的参数,则需要将Branch
类设置为public。
public class Branch { .... } ^^^^^^
或者,您可以将方法更改为internal
而非public
。
internal BranchOverview(List myArgus) ^^^^^^^^
BranchOverview
的构造BranchOverview
是public
,这意味着其forms参数列表中涉及的所有类型也必须是public
。 很可能你没有为Branch
提供可访问性规范,即你已经写过了
class Branch { ... }
这意味着Branch
是internal
。
默认情况下,如果不存在access modifier
则类的字段是private
…
更改:
List myArgus = new List ();
公开。
上述就是C#学习教程:参数比方法更难访问分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/983035.html