0

Silverlight 5 アプリケーション プロジェクトに 2 つのウィンドウを追加しました:FooWindowBaseSomeFooWindow. 後者は前者のサブクラスです。どちらにも を呼び出すデフォルトのコンストラクターが含まれてInitializeComponentおり、明らかに Visual Studio またはコンパイラーがそのメソッドを自動生成します。これにより、派生クラスで次のコンパイラ警告が発生しSomeFooWindowます…</p>

「サブInitializeComponentシャドウは、基本クラスで宣言されたオーバーロード可能なメンバーFooWindowBaseです。基本メソッドをオーバーロードする場合は、このメソッドを宣言する必要がありますOverloads。」

どちらの場合も が自動生成されたため、 over指定子InitializeComponentを追加する方法がないようです。ShadowsOverloads

自動生成されたコードを編集せずに、このコンパイラの警告を防止または取り除く方法はありますか?


FooWindowBase:

  • XAML:

    <c:ChildWindow 
        x:Class="FooNamespace.FooWindowBase"
        xmlns:c="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
        …&gt;
      …
    </c:ChildWindow>
    
  • コード:

    Imports System.Windows.Controls
    
    Partial MustInherit Class FooWindowBase : Inherits ChildWindow
        Public Sub New()
            InitializeComponent()
        End Sub
        …
    End Class
    

SomeFooWindow:

  • XAML:

    <l:FooWindowBase
        x:Class="FooNamespace.SomeFooWindow"
        xmlns:l="clr-namespace:FooNamespace;assembly=Foo"
        …&gt;
      …
    </l:FooWindowBase>
    
  • コード:

    Partial Class SomeFooWindow : Inherits FooWindowBase
        Public Sub New()
            InitializeComponent()
        End Sub
        …
    End Class
    
4

1 に答える 1