如何使在类A的方法中创建的列表可用于C#中的其他类?

时间:2019-03-29 20:29:46

标签: c# list

C#初学者在这里。我正在尝试使用Windows窗体来显示秋季任何给定日期(例如,星期五)的给定日期。请记住,我已经在控制台应用程序中完成了所有这些工作,但想尝试Windows窗体。

我的预期结果是,假设我已将索引设置为0,则消息框将显示本月的第一个星期五。

这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace DesktopApp7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        public class A
        {
            public static List<string> meetingdates;
            public static string date1 = meetingdates[0];
            public void DatesCalculated(string[] args)
            {

                DateTime timenow = DateTime.Now;

                //Creates 2 strings with year and month
                string currentyearstr = DateTime.Now.Year.ToString();
                string currentmonthstr = DateTime.Now.Month.ToString();

                //Turns two strings into integers for further use
                int currentyear = int.Parse(currentyearstr);
                int selectmonth = int.Parse(currentmonthstr);

                //Outputs total days for the current month, Number of times to loop command
                var totaldaysinmonth = DateTime.DaysInMonth(currentyear, selectmonth);


                //Gives all dates in the month

                List<string> meetingdates = new List<string>();
                for (int i = 0; i < totaldaysinmonth; i++)
                {
                    DateTime dateofmonth = new DateTime(timenow.Year, timenow.Month, 1 + i);


                    Calendar mycal = CultureInfo.InvariantCulture.Calendar;
                    string dayofweek = mycal.GetDayOfWeek(dateofmonth).ToString();



                    if (dayofweek == "Friday")
                    {
                        meetingdates.Add(dateofmonth.Date.ToString("MM/dd"));
                    }
                }


                return;


            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {


            MessageBox.Show(A.meetingdates[0]);

        }

    }
}

运行代码时收到的错误是: Object reference not set to an instance of an object.

老实说,我不确定如何访问由Main创建的列表,我能够访问文本框部分中的列表,但是我认为这可能仅是因为我在Main外部定义了会议日期列表。

有人可以提供一些有关为何无法正常工作的指导吗?

谢谢!

编辑:我认为链接为重复的问题不能解决使用列表的特定情况。 -

0 个答案:

没有答案