无法使用泛型列表填充数据视图
本文关键字:填充 数据 视图 列表 泛型 | 更新日期: 2023-09-27 18:05:09
我不明白下面的简单代码是什么问题。它所做的就是获取一个列表并在datagridview中显示它。这是我得到的错误:
错误1可访问性不一致:返回类型"System.Collections.Generic.List"是不是比方法更容易接近"WindowsFormsApplication10.Form1.FillGridView ()
另外,是否有一种方法来转换你的列表,数组列表等数据集类型?
public partial class Form1 : Form
{
public Form1 ()
{
InitializeComponent ();
}
public List<Student> FillGridView ()
{
List<Student> l = new List<Student> ();
l.Add (new Student { Fname="bloke", Lname="lll", Contact=293489485});
l.Add (new Student { Fname = "dog", Lname = "assdf", Contact = 35345 });
l.Add (new Student { Fname = "mary", Lname = "sdff", Contact = 6456 });
l.Add (new Student { Fname = "john", Lname = "sdfsdf", Contact = 45656 });
return l;
}
private void Form1_Load ( object sender, EventArgs e )
{
dataGridView1.DataSource = this.FillGridView ();
}
private void button1_Click ( object sender, EventArgs e )
{
}
}
你的方法需要是公共的吗?看起来您的学生类不是公共的,因此将它的列表返回给任何公共调用者都是不一致的。看起来,你的方法可以是私有的。
private List<Student> FillGridView()
您的Student
类访问修饰符可能是non-public
。
对于类型为non-public
的public
方法没有意义。该方法如何在外部程序集上工作?
您可以将FillGridView
访问修饰符更改为private
private List<Student> FillGridView ()
从Access Modifiers
阅读更多信息
From C# Language Specification
10.3.6组成类型
在成员声明中使用的类型称为该成员的组成类型。可能的成分类型是返回的常量、字段、属性、事件或索引器的类型方法或运算符的类型,以及方法的参数类型;索引器、操作符或实例构造函数。a的组成类型成员必须至少与成员本身具有同样的可访问性(§3.5.4)。