سؤال

لدي مجموعة من الكائنات التي أحاول إضافتها إلى مجموعة العناصر من عنصر تحكم مربع التحرير والسرد باستخدام طريقة Addrange. الطريقة تأخذ object[] ولكن عندما اجتازها اسم الصفيف الذي كان يتيحي مع بعض القيم، فإنه يشكو:

أفضل طريقة مثالية System.Windows.Forms.ComboBox.ObjectCollection.AddRange(object[]) لديه بعض الوسائط غير صالحة.

فئة تحديد الكائنات في صفيف بلدي بسيط للغاية:

public class Action
{
   public string name;
   public int value;
   public override string ToString()
   {
      return name;
   }
}

and my array is declared such:

    public Action[] actions = new Action[] {
    new Action() { name = "foo", value = 1 },
    new Action() { name = "bar", value = 2 },
    new Action() { name = "foobar", value = 3 }
};

هذا هو المكان الذي أحاول الاتصال به AddRange:

combobox1.Items.AddRange(actions);

وهذا هو الخط الذي يشكو منه - هل هناك بعض الخطوة التي أفتقدها لتكون قادرة على القيام بذلك؟ إنه يعمل بشكل جيد عندما أضيف فقط string[]

هل كانت مفيدة؟

المحلول

جربت ذلك في مشروع اختبار .NET C # على النحو التالي ويعمل بشكل جيد. رمز العينة هو على النحو التالي:

 public partial class Form1 : Form
    {
        public Action[] actions = new Action[]
            {
new Action() { name = "foo", value = 1 },
new Action() { name = "bar", value = 2 },
new Action() { name = "foobar", value = 3 }
            };

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.AddRange(actions);
        }

    }

    public class Action
    {
        public string name;
        public int value;
        public override string ToString()
        {
            return name;
        }
    }

لذلك عليك أن تخبرنا أين أعلنت كائن الإجراءات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top