2016-04-28 5 views
1

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

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

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

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

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

I Google'd это, и наткнулся следующий вопрос на SO: C# Error: Parent does not contain a constructor that takes 0 arguments. Я пытался делать то, что было предложено в ответ на это, и изменил мой код:

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

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

«WebBrowserBase» не содержит конструктор что принимает 1 аргументы

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

+0

Что вы собираетесь использовать его для ? В зависимости от этого я бы предложил использовать XAML или обычный webrequest –

+0

В принципе, я хочу отображать текущее приложение, как есть, внутри веб-браузера, предоставляя пользователю возможность переключаться между отображением приложения и отображением веб-страницы в виде приложение в разных местах даст пользователю возможность открыть определенную веб-страницу. Я никогда не использовал XAML - это первый раз, когда я столкнулся с этим, и я не уверен, как его использовать/интегрировать с кодом, который я буду писать вручную самостоятельно ... – someone2088

+0

И какой технологический стек является основным приложением в? Как вы не использовали XAML? Или мы говорим о некоторых доказательствах концепции? –

ответ

2

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

«Этот 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> 
1
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"); 
    } 
} 
Смежные вопросы