0
我有一個WPF UserControl實現ISlider
與一些CustomEvent(請參閱前面的集Why I cannot compile a Custom Event declared in a Class Interface in C#)。現在測試C#類接口支持時編譯問題
我的問題是下面的代碼,不希望編譯:
ISlider ISlider;
ISlider = slider as ISlider;
if (ISlider != null)
{
ISlider.CustomEvent += new CustomEvent(OnCustomEvent);
}
else
{
this.slider.ValueChanged += new RoutedPropertyChangedEventHandler<double>(this.slider_ValueChanged);
}
,因爲用戶控件沒有ValueChanged事件像WPF標準控件做。
因此該行:
this.slider.ValueChanged += new RoutedPropertyChangedEventHandler<double>(this.slider_ValueChanged);
不能編譯。
所以我不得不在我的ISlider
接口中人爲地創建一個ValueChanged
事件,我沒有使用它,只是爲了滿足編譯器?
將變量完全命名爲類型通常是個壞主意。不知道這是否是你的問題,但試着將變量`ISlider`重命名爲`iSlider`。 – 2011-01-26 19:46:26
你沒有告訴我們哪一行不能編譯,我同意Albin - 你真的不應該把變量命名爲與它的類型相同......它肯定會引起混淆。 – 2011-01-26 19:47:44