Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="path"></param>
        public void Register(string path)
        {
            try
            {
                AssemblyName assemblyName = new AssemblyName();
                assemblyName.Name     = Path.GetFileNameWithoutExtension(path);
                assemblyName.CodeBase = path;
                Assembly assembly = Assembly.Load(assemblyName);
                log.Debug("Loaded " + Path.GetFileName(path));

                foreach (Type type in assembly.GetExportedTypes())
                {
                    if (type.IsClass && typeof(ICRCer).IsAssignableFrom(type))
                    {
                        ICRCer crc = (ICRCer)Activator.CreateInstance(type);
                        this._CRCers.Add(crc);
                        //log.Error("Addin {0} was already registered", addin.Name);
                        //else
                        //{
                        //    addinRegistry.Register(addin);
                        log.Debug("Registered addin: {0}", crc.GetType());
                        //}
                    }
                }
            }
            catch (Exception ex)
            {
                // NOTE: Since the gui isn't loaded at this point,
                // the trace output will only show up in Visual Studio
                log.Error("Failed to load" + path, ex);

                throw ex;
            }
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="this1"></param>
        /// <returns></returns>
        private ListViewItem CreateListViewItem(ICRCer item)
        {
            string assemblyInfo = GetAssemblyInfo(item);

            //string[] items = new string[] { this1.GetType ().Name , "-", assemblyInfo };
            string[]     items = new string[] { item.GetType().FullName };
            ListViewItem lvi   = new ListViewItem(items);

            return(lvi);
        }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="this1"></param>
 /// <returns></returns>
 private string GetAssemblyInfo(ICRCer item)
 {
     return(item.GetType().Assembly.FullName);
 }