クラスpublic class ViewModelCollection<T> : ObservableCollection<T> where T : class
には、次のメソッドがあります。
public T CurrentItem
{
get { return defaultView.CurrentItem as T; }
set
{
// ** wrong when T is of type string ** if (value != defaultView.CurrentItem)
// ** wrong when T is of type string ** if (value != (T)defaultView.CurrentItem)
if (!EqualityComparer<T>.Default.Equals(value, (T)defaultView.CurrentItem))
{
defaultView.MoveCurrentTo(value);
OnPropertyChanged(new PropertyChangedEventArgs("CurrentItem"));
}
else return;
}
}
通常のオペレーターがなぜその==
ように振る舞うのか理解できません"New" != "New"
。
おそらく何千回も尋ねられましたが、まだわかりません。ジェネリックの使用と関係があるのでしょうか?