C# конструктор веб-браузера

Я пытаюсь добавить веб-браузер в существующее приложение C#, но, не используя C# около 6 лет, я совершенно не знаком с тем, как оно работает.

Я пытаюсь добавить браузер в partial class (опять что-то, с чем я не знаком), используя следующий код:

public partial class WebBrowser : WebBrowserBase{
    public WebBrowser(){
        ...
    }
    ...
}

Тем не менее, я получаю ошибку компиляции конструктора, который говорит:

WebBrowserBase не содержит конструктор, который принимает 0 аргументов

Я Google это сделал, и наткнулся на следующий вопрос о SO: Ошибка C#: Родитель не содержит конструктор, который принимает 0 аргументов. Я попытался сделать то, что было предложено в ответе на это, и изменил свой код на:

public partial class WebBrowser : WebBrowserBase{
    public WebBrowser(int i) : base(i){
        ...
    }
    ...
}

Тем не менее, я получаю ошибку компиляции, которая говорит:

WebBrowserBase не содержит конструктор, который принимает 1 аргумент

Так что я предполагаю, что эта проблема не связана с количеством аргументов в конструкторе... Кто-нибудь может объяснить, что я здесь делаю неправильно?

2 ответа

Если вы посмотрите на класс WebBrowserBase, он утверждает, что:

"Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из вашего кода".

И кажется, что у него нет публичного конструктора - поэтому вы не можете наследовать от него. Но если вы не хотите создавать свой собственный WebBrowser контроль (изменить некоторые его функции), вы должны просто использовать по умолчанию System.Windows.Forms.WebBrowser в XAML Посмотреть:

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow"
    Width="525"
    Height="350">
    <WebBrowser HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  />
</Window>
  In Inheritance,

   If Derived class contains its own constructor which not defined in Base class then this error Occurs
For Example:
 class FirstClass
   {
      public FirstClass(string s) { Console.WriteLine(s); }
   }

class SecondClass : FirstClass
{
    public SecondClass()
    {
        Console.WriteLine("second class");
    }
}

Output: Error:-'myconsole.FirstClass' does not contain a constructor that takes 0 arguments 

To Run without Error:
 class FirstClass
{
    public FirstClass()
    {
        Console.WriteLine("second class");
    }
  public FirstClass(string s) { Console.WriteLine(s); }
}

class SecondClass : FirstClass
{

    public SecondClass()
    {
        Console.WriteLine("second class");
    }
}
Другие вопросы по тегам