Переменная = класс из словаря сброса / очистки вар после использования

У меня проблема здесь с Var "item", я вызываю метод MyItems из цикла xml и выбираю класс из словаря по ключу, по какой-то причине сумма правильная, но все они из одного типа / значений / значков.....

Как я могу сбросить, очистить, обнулить или любой другой "элемент" после того, как он был добавлен в _list.Add(item) .... Новое в C#......

* я надеюсь, что мой почтовый индекс / формат теперь правильный:p

public class ISwitch : Form1
{
    private static Dictionary<int, Base> _objectsToList;
    private static bool _dicSet = false;

    // Build Dictionary 
    static ISwitch()
    {
        Debug.Write("-----------------------------------------------------\n");
        Debug.Write("dic created\n");

        _objectsToList = new Dictionary<int, SenseItemBase>
                             {
                                 {1, new Control()},
                                 {2, new Control2()},
                                 {3, new MoreItems()},
                                 {4, new MoreItems2()}
                             };
        _dicSet = true;
    }

    public static void MyItems(int id, int funcid, string _index, string _text, string icongfx, string property, string type, string _function, string _itemtype)
    {
        if (!_dicSet) return;
        Debug.Write("-----------------------------------------------------\n");
        Debug.Write("ID : " + id + "\n");
        Debug.Write("funcid : " + funcid + "\n");
        Debug.Write("Case : " + _index + "\n");
        Debug.Write("Property : " + property + "\n");
        Debug.Write("Type : " + type + "\n");
        Debug.Write("Function : " + _function + "\n");
        Debug.Write("Icon : " + icongfx + "\n");
        Debug.Write("Text : " + _text + "\n");
        Debug.Write("Switch : " + _itemtype + "\n");
        XFItemStyle Style;

        switch (id)
        {
            case 1:

                if (_objectsToList.ContainsKey(funcid))
                {
                    var item = _objectsToList[funcid];

                    Debug.Write("-----------------------------------------------------\n");
                    Debug.Write("- Item-\n");
                    Debug.Write("_objectsToList : " + item + "\n");
                    Debug.Write("ID : " + id + "\n");
                    Debug.Write("funcid : " + funcid + "\n");
                    item.Style = IStyle.MyStyle(_index, "HelveticaNeue", "HelveticaNeue", out Style);
                    item.MainText = _text;
                    item.myIcon = Path + "\\" + icongfx;

                    _list.Add(item);

                }

                return;

            case 2:
                if (_objectsToList.ContainsKey(funcid))
                {

                    var item = _objectsToList[funcid];

                    Debug.Write("-----------------------------------------------------\n");
                    Debug.Write("- Item action-\n");
                    Debug.Write("_objectsToList : " + item + "\n");
                    Debug.Write("ID : " + id + "\n");
                    item.Style = IStyle.MyStyle(_index, "HelveticaNeue", "HelveticaNeue", out Style);
                    item.MainText = _text;
                    item.SecondaryText = _text;
                    item.myIcon = Path + "\\" + icongfx;

                    _list.Add(item);
                    item = null;
                }

                return;
        }
    }
}

благодарю вас

1 ответ

Как я могу сбросить, очистить, обнулить или любой другой "элемент" после того, как он был добавлен в _list.Add(item) .... Новое в C#......

Если я правильно понимаю ваш вопрос, вы хотите удалить элемент из _objectsToList после добавления его в _list. Это можно сделать с помощью:

_objectToList.Remove(funcid);  

Для получения дополнительной информации о работе с этим методом или коллекции словаря в целом, обратитесь по ссылке: http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

Другие вопросы по тегам