0

我正在尝试在 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);
                }

有人知道如何在不删除抽象方面的情况下解决这个问题吗?

4

0 回答 0