从另一个类访问BindingList
问题描述:
我试图从另一个类访问我的BindingList,但我不确定如何去做。从另一个类访问BindingList
这是从我的窗体2类我的代码:
public partial class Form2 : Form
{
//List containing the memos added
public static BindingList<memo> memosList = new BindingList<memo>();
//Now the list needs to be initialized so i can use it elsewhere
public static BindingList<memo> Memos
{
get { return memosList; }
set { memosList = value; }
}
//...
这里是代码从我Form3类:
private void CreateMemo(object sender, EventArgs args)
{
memo memosList = new memo();
memosList.Add(
new memo(priorityNumber.Text, memoTitle.Text, memoDescription.Text));
}
我怎么会在窗体2访问列表中,这样我可以添加/删除它的项目?
答
BindingList<memo>
被声明为静态属性,因此您可以通过Form2.Memos
来添加或删除Form3
类中的项目。
private void CreateMemo(object sender, EventArgs args)
{
Form2.Memos.Add(
new memo(priorityNumber.Text, memoTitle.Text, memoDescription.Text));
}
答
因为您已将memolist设为公共静态,所以为它设置属性是没有意义的。 Martijn van Put提供了一个很好的答案,但我不明白为什么有两个变量名称指向相同的内存位置。
这也确实是的Martijn面包车把
private void CreateMemo(object sender, EventArgs args)
{
Form2.memoslist.Add(
new memo(priorityNumber.Text, memoTitle.Text, memoDescription.Text));
}
下面是使用属性参考......同样的事情https://msdn.microsoft.com/en-us/library/w86s7x04.aspx
请参见[56,“问题包括‘标签’,在他们的头衔?”] (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles),其中的共识是“不,他们不应该”! –