Here you have several options.
First use Object.Equals:
if(b.Equals(iteratorB)) {
// do stuff
}
, ; B Object.Equals, , B , B . , , .
-, , B IComparable:
public class WidgetBox<A, B, C> where B : IComparable
if(b.CompareTo(iteratorB) == 0) {
// do stuff
}
, IEqualityComparer<B> WidgetBox
public class WidgetBox<A, B, C> {
IEqualityComparer<B> _comparer;
public WidgetBox(IEqualityComparer<B> comparer) {
_comparer = comparer;
}
}
:
if(_comparer.Equals(b, iteratorB)) {
// do stuff
}
, EqualityComparer<T>.Default:
public WidgetBox() : this(EqualityComparer<T>.Default) { }