コード例 #1
0
        private void TemplateBW_DoWork(object sender, DoWorkEventArgs e)
        {
            ObservableCollection <TemplateContact> returnTemplateContacts = new ObservableCollection <TemplateContact>();

            string[] availableTemplates = Directory.GetFiles(@"C:\Program Files\InspectIT\Templates", "*.tpl", SearchOption.TopDirectoryOnly);

            foreach (string curAvaialableTemplate in availableTemplates)
            {
                TemplateContact newTC = null;
                try {
                    newTC = new TemplateContact(curAvaialableTemplate);
                    returnTemplateContacts.Add(newTC);
                }
                catch (Exception ex) {
                    //lock (_corruptTplLock) {

                    this._corruptTemplates.Add(curAvaialableTemplate);
                    //}

#if DEBUG
                    if (System.Diagnostics.Debugger.IsAttached)
                    {
                        System.Diagnostics.Debugger.Break();
                    }
#endif
                }
            }

            e.Result = returnTemplateContacts;
        }
コード例 #2
0
        public void Dispose()
        {
            if (this.AddressBookContactList != null && AddressBookContactList.Count > 0)
            {
                //using a for loop because you can't remove items inside an enumeration of the collection
                for (int i = AddressBookContactList.Count - 1; i >= 0; i--)
                {
                    AddressBookContact curContact = AddressBookContactList[i];
                    curContact.Dispose();
                    AddressBookContactList.RemoveAt(i);
                }
            }

            if (this.TemplateContacts != null && TemplateContacts.Count > 0)
            {
                for (int i = TemplateContacts.Count - 1; i >= 0; i--)
                {
                    TemplateContact curContact = TemplateContacts[i];
                    curContact.Dispose();
                    TemplateContacts.RemoveAt(i);
                }
            }

            if (_templateBW != null)
            {
                _templateBW.Dispose();
            }

            if (this.TemplateContacts != null)
            {
                foreach (TemplateContact curContact in this.TemplateContacts)
                {
                    curContact.Dispose();
                }

                this.TemplateContacts = null;
            }
        }