您尚未将该variables.MessageStitches属性设置为新列表。
您有多种选择,但对您来说最好的选择几乎肯定是 1 或 2。
1 - 在 的构造函数中分配一个新列表variables。但是,由于您的列表是静态的,这实际上对您没有帮助,因为您可能尚未实例化您的variables类,因此您的构造函数将不会运行。你可以有一个静态构造函数:
class variables
{
    public static List<string> MessageStitches { get; set; } 
    // Static constructor
    static variables()
    {
        MessageStitches = new List<string>();
    }
}
2 - 不要使用自动属性。相反,为您的属性设置一个支持字段,在初始化时为其分配一个值:
public class variables
{
    private static List<string> messageStitches = new List<string>();
    public static List<string> MessageStitches 
    { 
        get
        {
            return messageStitches;
        }
        set
        {
            messageStitches = value;
        } 
    }
3 - 使用前检查列表以确保它不为空,如果是,则分配一个新列表。同样,这将不是线程安全的,除非您采取措施使其如此(例如,通过进入临界区)
if (!string.IsNullOrEmpty(node))
{
    if (variables.MessageStitches == null)
    {
        variables.MessageStitches = new List<string>();
    }
    variables.MessageStitches.Add(node);
}