Как открыть веб-страницу из моего приложения?

Реализация Серхио Карнейро и Джона требует определения функции инициализации для всех, кроме одного класса. Вот модифицированная версия функции агрегации, которая вместо этого использует конструкторы по умолчанию.

var aggregation = (baseClass, ...mixins) => {
    class base extends baseClass {
        constructor (...args) {
            super(...args);
            mixins.forEach((mixin) => {
                copyProps(this,(new mixin));
            });
        }
    }
    let copyProps = (target, source) => {  // this function copies all properties and symbols, filtering out some special ones
        Object.getOwnPropertyNames(source)
              .concat(Object.getOwnPropertySymbols(source))
              .forEach((prop) => {
                 if (!prop.match(/^(?:constructor|prototype|arguments|caller|name|bind|call|apply|toString|length)$/))
                    Object.defineProperty(target, prop, Object.getOwnPropertyDescriptor(source, prop));
               })
    }
    mixins.forEach((mixin) => { // outside contructor() to allow aggregation(A,B,C).staticFunction() to be called etc.
        copyProps(base.prototype, mixin.prototype);
        copyProps(base, mixin);
    });
    return base;
}

Вот небольшая демонстрация:

class Person{
   constructor(n){
      this.name=n;
   }
}
class Male{
   constructor(s='male'){
      this.sex=s;
   }
}
class Child{
   constructor(a=12){
      this.age=a;
   }
   tellAge(){console.log(this.name+' is '+this.age+' years old.');}
}
class Boy extends aggregation(Person,Male,Child){}
var m = new Boy('Mike');
m.tellAge(); // Mike is 12 years old.

Эта функция агрегации будет предпочитать свойства и методы класса, которые появляются позже в Список классов.

115
задан Brian Rasmussen 2 February 2009 в 04:38
поделиться

3 ответа

System.Diagnostics.Process.Start("http://www.webpage.com");

Один из многих путей.

249
ответ дан Inisheer 5 November 2019 в 09:05
поделиться

Я использовал эту строку для запуска браузера по умолчанию:

System.Diagnostics.Process.Start("http://www.google.com"); 
32
ответ дан ajma 5 November 2019 в 09:05
поделиться

Принятый ответ больше не работает над .NET Core 3 . Чтобы заставить его работать, используйте следующий метод:

var psi = new ProcessStartInfo
{
    FileName = url,
    UseShellExecute = true
};
Process.Start (psi);
0
ответ дан 24 November 2019 в 02:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: