クラスプロジェクトでは、C#でRSSリーダーを作成しています。Channels、Feeds、Articles用に作成されたクラスがあります。
私のメインクラスのMainViewには、すべてのチャネルを保持するリストチャネルがあります。
チャネルは、フィードを保持するための単なる組織クラスです。(つまり、「スポーツ」、「テクノロジー」はチャネルである可能性があります)。チャネルには、すべてのフィードを保持するリストフィードがあります。したがって、「Sports」というチャネルがあり、ESPNのRSSフィードを作成する場合は、Feedクラスをインスタンス化します。
ただし、MainViewクラスのチャンネルリストを他のすべてのクラスで保持する方法がわかりません。チャネルを追加する場合は、ユーザー入力を可能にするポップアップフォームクラス(クラスaddChannel)を作成します。しかし、MainViewのチャネルリストにアクセスするには、リストを正しくコピーするaddChannelのコンストラクターに渡す必要がありますか?では、addChannelクラスのリストを操作するとき、元の権利を変更していませんか?
私はCに慣れているので、ポインタを渡して元の変数をメモリ内で直接変更できます。したがって、プログラムを最悪にし続ける前に、これをすべて正しく行っているかどうかを確認したいと思います。
投稿してほしい特定のコードがあれば教えてください。
このコードは私のMainViewクラスにあります
private void addBtn_Click(object sender, EventArgs e)
{
addChannel newChannel = new addChannel(channelTree, Channels);
newChannel.Show();
}
public List<Channel> Channels;
そして、このコードはaddChannelクラスにあります
private void button1_Click(object sender, EventArgs e)
{
// I want to access the channelTree treeView here
channel = new Channel(this.channelTitle.Text, this.channelDesc.Text);
// Save the info to an XML doc
channel.Save();
// So here is where I want to add the channel to the List, but am not sure if it persists or not
channels.Add(channel);
// Now add it to the tree view
treeView.Nodes.Add(channel.Title);
this.Close();
}