public Plugins(string ProfileFileName) : this()
 {
     try
     {
         this.m_Profile = this.GetProfile(ProfileFileName);
     }
     catch (Exception e)
     {
         new Exception(Properties.Resources.ErrorPluginsConstructorProfileRead, e);
     }
     Load();
 }
        /// <summary>
        /// Populate instance class with another instance of class
        /// </summary>
        /// <param name="p">The other instance to populate from</param>
        public void Populate(profile p)
        {
            foreach (PropertyInfo sourcePropertyInfo in p.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance))
            {
                PropertyInfo destPropertyInfo = this.GetType().GetProperty(sourcePropertyInfo.Name);

                if (destPropertyInfo.CanWrite == true)
                {
                    destPropertyInfo.SetValue(
                        this,
                        sourcePropertyInfo.GetValue(p, null),
                        null);
                }
            }
        }
 public Plugins(profile p) : this()
 {
     this.m_Profile = p;
     Load();
 }