还有另外一个与我非常相似的问题,但在阅读之后我还是无法让它发挥作用。
我有两种形式,MainForm和SecondForm以及其他一些类,我需要一个我的AVLtree实例,并且能够通过其他形式访问它。
这是我到目前为止所做的事情
的MainForm
public partial class MainForm : Form
{
AddArtist secondForm = new AddArtist();
public static AVLTree<Artist> treeAVL { get; set; }
public MainForm()
{
InitializeComponent();
}
private void butAdd_Click(object sender, EventArgs e)
{
secondForm.Show();
}
private void MainForm_Load(object sender, EventArgs e)
{
}
}
}
SecondForm
公共部分类AddArtist:表单 { String Name1 =“No Name”; int Members = 0; public AVLTreetreeAVL = new AVLTree();
public AddArtist()
{
InitializeComponent();
treeAVL = MainForm.treeAVL;
}
private void MainForm_Load(object sender, EventArgs e)
{
}
private void butAdd_Click(object sender, EventArgs e)
{
Name1 = tBName.Text;
Members = (Convert.ToInt32(tBMem.Text));
Artist newArtist = new Artist(Name1,Members);
try
{
treeAVL.InsertItem(newArtist);
}
catch (Exception )
{
MessageBox.Show("No Data Entered", "Error",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
tBName.Text = "";
tBMem.Text = " ";
}
}
}
任何帮助都将非常感谢指出我出错或如何解决它。
它现在编译但它会将Object引用的错误设置为未设置为对象的实例。我希望我已经开始编码这是正确的方法。
答案 0 :(得分:1)
AVLTree类的访问修饰符是什么?检查它是私有还是内部,因为您的代码需要公开。
答案 1 :(得分:1)
在public
parametrized type
public class Artist
{
..
}