簡體   English   中英

類中的數據類型變量列表不會更新

[英]List of datatype variable in class won't be updated

我創建了一個將List作為屬性的類,這是代碼

public class ScreenEventNTF
{
    //property
    public List<string> list_event_string { get; set; }

    //constructor
    public ScreenEventNTF(blah blah)
    {
       list_event_string = new List<string>();
    }

    // the not-working method
    public void AddToStringTodraw(string string_inp)
    {
        list_event_string.Add(string_inp);

    }

}

從主要班級我做類似的事情

ScreenEventNTF notifier = new ScreenEventNTF(blah blah);
notifier.AddToStringTodraw("Fabulous");

並且我嘗試將所有字符串寫入notifier.list_event_string,但列表中似乎沒有任何值

這是根據評論的代碼。

foreach (string text in notifier.list_event_string)
 spriteBatch.DrawString(font_test, text , 
                vector_mouse, Color.White, 0f, Vector2.Zero, 1.0f, SpriteEffects.None, 1.0f);

我究竟做錯了什么 ??

請幫助我,任何幫助將不勝感激。

您添加到列表中的方式應該起作用,並且我認為它確實起作用,但是問題是當您繪制字符串時,您要么:

  1. 在屏幕外繪制位置:檢查vector_mouse中的值
  2. 您正在繪制白色文本。 背景對比度夠嗎?

您可以說如果確實調用了該方法並且列表中沒有值,則該方法不起作用。 您可以僅通過調試器進行確認,在foreach(字符串...)之前設置一個斷點。

另外,如果您不使用縮放,旋轉(如我從參數中看到的那樣),則可以使用DrawString方法的以下重載: DrawString(SpriteFont,string,Vector2,Color)

最后,如果“列表”字段是公共的,為什么還要在單獨的方法中公開添加功能? 除非將來封裝發生變化,否則沒有必要。

您究竟如何遍歷列表? 需要查看用於打印List對象中元素的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM