public PlugDownFileModel Get(string id) { MySqlContext mysql = new MySqlContext(); List <Plugs> list = mysql.plugs.ToList(); Plugs model = list.Find(m => { return(m.PID.ToString() == id && m.PStatus == 0); }); if (model == null) { return(null); } PlugDownFileModel pmodel = new PlugDownFileModel(); pmodel.ID = model.PID; pmodel.Kind = model.PKind; pmodel.DownFile = string.Format("{0}{1}", model.PDownpathWeb, model.PDownPath); pmodel.Ext = model.PExt; pmodel.MainFileName = model.PWindowName; pmodel.Name = model.PName; pmodel.OpenWay = model.PShowWay; pmodel.Total = model.PTotal; pmodel.UpdateDate = model.PUpdateDate; return(pmodel); }
private Plug GetPlug(string a, string b) { return(Plugs.FirstOrDefault(p => p.LetterA == a && p.LetterB == b)); }
public int LoadPlugs() { Plugs.Clear(); PlugsInfo.Clear(); if (!Directory.Exists(Environment.CurrentDirectory + @"\Plugins")) { return(0); } string[] files = Directory.GetFiles(Environment.CurrentDirectory + @"\Plugins"); PluginInfoAttribute typeAttribute = new PluginInfoAttribute(); foreach (var item in files) { string ext = Path.GetExtension(item); if (ext != ".dll") { continue; } try { Assembly tmp = Assembly.UnsafeLoadFrom(item); Type[] types = tmp.GetTypes(); // 遍历实例获得实现接口的类 foreach (Type t in types) { if (t.GetInterface(interType.Name) != null) { T plug = (T)tmp.CreateInstance(t.FullName); Plugs.Add(plug); object[] attbs = t.GetCustomAttributes(typeAttribute.GetType(), false); PluginInfoAttribute attribute = null; foreach (object attb in attbs) { if (attb is PluginInfoAttribute) { attribute = (PluginInfoAttribute)attb; break; } } if (attribute != null) { PlugsInfo.Add(attribute); } CallBack(); } } } catch (Exception exp) { throw exp; } } return(Plugs.Count); }
private void Button_Click(object sender, RoutedEventArgs e) { Plugs.UnselectAll(); }