わからないという奇妙な警告が出ました。
私は2つ持っていUserControls
ます。最初のものBaseControl
はから継承しButton
、2番目SecondControl
はから継承しBaseControl
ます。何も変更しなかったので、両方のUserControlはVS2012が作成するようなものです(デフォルトのコンストラクターなど)。継承するために、のsealed
キーワードのみを削除しました。BaseControl
プロジェクトをビルドすると、次の警告が表示されます。
'MyProject.Controls.SecondControl.Connect(int, object)' hides inherited member
'MyProject.Controls.BaseControl.Connect(int, object).' Use the new keyword if hiding was intended.
この警告をクリックすると、VS2012は次の名前のファイルを開き、次のように表示されます'SecondControl.g.cs'
。
partial class SecondControl: global::MyProject.Controls.BaseControl, global::Windows.UI.Xaml.Markup.IComponentConnector
{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public void Connect(int connectionId, object target)
{
this._contentLoaded = true;
}
}
これは何を意味するのでしょうか?Connect()
これ以外に呼び出されるメソッドはありませんがSecondControl.g.cs
、それは私のメソッドではありません。これを修正するためのヒントはありますか?それは単なる警告であり、私のアプリケーションは正常に動作しますが、出力ウィンドウに警告/エラーが表示されるのは好きではありません:)
SOでこのエラーに関する記事をいくつか見つけましたが、どれも役に立ちませんでした:(
編集:上記のクラス全体を追加します。
BaseControl:
namespace MyProject.Controls
{
public partial class BaseControl : Button
{
public BaseControl()
{
this.InitializeComponent();
}
}
}
SecondControl:
namespace MyProject.Controls
{
public sealed partial class SecondControl: BaseControl
{
public SecondControl()
{
this.InitializeComponent();
}
}
}
Windows.UI.Xaml.Controls.Buttonの継承チェーン全体を確認しましたが、Connect(int、object)やその他のConnect()はありません。Connect()メソッドも追加しませんでした。