示例#1
0
        /// <summary>
        /// Sets properties visible in add/remove programs section of control panel.
        /// </summary>
        /// <param name="project"></param>
        /// <param name="controlPanelInfo"></param>
        /// <returns></returns>
        public static TProject SetControlPanelInfo <TProject>(this TProject project, ProjectControlPanelInfo controlPanelInfo)
            where TProject : Project
        {
            if (project is null)
            {
                throw new ArgumentNullException(nameof(project));
            }

            if (controlPanelInfo is null)
            {
                throw new ArgumentNullException(nameof(controlPanelInfo));
            }

            controlPanelInfo.BindTo(project);

            return(project);
        }
示例#2
0
        /// <summary>
        /// Sets properties visible in add/remove programs section of control panel.
        /// </summary>
        /// <param name="project"></param>
        /// <param name="name">Name of the product</param>
        /// <param name="manufacturer">Product manufacturer</param>
        /// <param name="readme"></param>
        /// <param name="comment"></param>
        /// <param name="contact"></param>
        /// <param name="helpUrl"></param>
        /// <param name="aboutUrl"></param>
        /// <param name="productIconFilePath">Icon file</param>
        /// <param name="helpTelephone"></param>
        /// <returns></returns>
        public static TProject SetControlPanelInfo <TProject>(this TProject project,
                                                              string name,
                                                              string?manufacturer,
                                                              string?readme,
                                                              string?comment,
                                                              string?contact,
                                                              Uri?helpUrl,
                                                              Uri?aboutUrl,
                                                              FileInfo?productIconFilePath,
                                                              string?helpTelephone = null)
            where TProject : Project
        {
            if (project is null)
            {
                throw new ArgumentNullException(nameof(project));
            }

            var controlPanelInfo = new ProjectControlPanelInfo(
                name, manufacturer, readme, comment, contact,
                helpUrl, aboutUrl, productIconFilePath, helpTelephone);

            return(project.SetControlPanelInfo(controlPanelInfo));
        }