我正在尝试在 c# 中制作自己的项目作为练习。我制作了一个表单,用户可以在其中创建新闻文章,此外,我还制作了一个表单,用户可以通过选择标题来更新和删除新闻文章。
但由于某种原因,我在尝试访问组合框时收到此错误:错误 CS0122'UpdateDeleteNewsArticleForm.cbArticleTitle' 由于其保护而无法访问 我觉得这与抽象类有关,但我必须使用它。
抽象类文章的代码(两种文章类型继承自):
public abstract class Article
{
protected int articleId;
protected string articleTitle;
protected string articleText;
//properties
public int ArticleId
{
get { return articleId; }
private set { articleId = value; }
}
public string ArticleTitle
{
get { return articleTitle; }
private set { articleTitle = value; }
}
public string ArticleText
{
get { return articleText; }
private set { articleText = value; }
}
//Constructor
public Article(int articleId, string articleTitle, string articleText)
{
this.articleId = articleId;
this.articleTitle = articleTitle;
this.articleText = articleText;
}
//Get id method
public bool GetArticleId(int articleId)
{
if(articleId == this.articleId)
{
return true;
}
return false;
}
//Override string method
public override string ToString()
{
return "The article id is: " + articleId +
" The title is: " + articleTitle +
" The content is: " + articleText;
}
}
组合框的代码:
if(rbNewsNormal.Checked)
{
articleManager.AddArticle(new NewsArticle(articleManager.ArticleId, txtNewsTitle.Text, txtNewsText.Text, false, txtNewsByLine.Text, txtNewsSource.Text));
articleManager.IncrementArticleId();
UpdateDeleteNewsArticleForm.cbArticleTitle.Items.Add(txtNewsTitle.Text);
}
有人知道如何在不删除抽象方面的情况下解决这个问题吗?