Я пытаюсь создать класс, реализующий общий IComparer моего собственного класса «Stellungen» (который переводится в позиции, например, на шахматы или шашки).Реализация общего IComparer в VB
Это то, что я получил:
Private Class comparer(Of Stellung)
Implements System.Collections.Generic.IComparer(Of Stellung)
Public Function Compare(x As Stellung, y As Stellung) As Integer Implements System.Collections.Generic.IComparer(Of Stellung).Compare
End Function
End Class
Проблема: внутри функции У меня нет доступа к любым полям моего класса. Если я начну с x. Intellisense только даст мне .Equals, .GetHashCode - методы, которые вы получаете по типу, но не по экземпляру. Visual Studio 10 также выделяет это, в определении функции биты «x as Stellung» и «y as Stellung» написаны синим цветом, что означает, что это тип, а не фактический объект.
Итак ... что мне делать ?? Как получить доступ к вещам, которые я хочу сравнить в своем классе? Спасибо!
Спасибо за очень быстрый ответ! Никакие поля моего класса не являются частными, все открыто и все они расположены в одном файле, одном пространстве имен, одной сборке. С этой стороны не должно быть проблем с доступом. Добавление IComparable было ключом! –
Ralf